Skip to content

Add tests for TextureCube #1134

Description

@Icohedron

References

Description

Add runtime GPU offload tests for TextureCube. TextureCube uses float3 direction vectors for sampling. It does not support Load, operator[], mips, or offset parameters. It does support Gather/GatherCmp (unlike Texture1D/Texture3D).

Tasks

  • Add TextureCube to offload-test-suite ResourceKind

    • offload-test-suite/include/Support/Pipeline.h — add TextureCube to ResourceKind enum, update isRaw(), isSampler(), isTexture(), isReadWrite(), isSampledTexture(), and ScalarEnumerationTraits
    • offload-test-suite/lib/API/VK/Device.cpp — add TextureCube cases: VkDescriptorType, VkImageViewType (VK_IMAGE_VIEW_TYPE_CUBE), image creation with 6 layers
    • offload-test-suite/lib/API/DX/Device.cpp — add TextureCube cases: D3D12_SRV_DIMENSION_TEXTURECUBE, SRV descriptor setup
    • offload-test-suite/lib/API/MTL/MTLDevice.cpp — add TextureCube case for Metal texture type mapping
  • Write tests (offload-test-suite/test/Feature/Textures/)

    • Sample.testSample(SamplerState, float3) (no offset overloads)
    • SampleBias.testSampleBias(SamplerState, float3, float)
    • SampleGrad.testSampleGrad(SamplerState, float3, float3, float3)
    • SampleCmp.testSampleCmp(SamplerComparisonState, float3, float)
    • Gather.testGather(SamplerState, float3) (no offset overload)
    • GatherCmp.testGatherCmp(SamplerComparisonState, float3, float) (no offset overload)
    • CalculateLevelOfDetail.testCalculateLevelOfDetail(SamplerState, float3)
    • Sampler.filter.test — sampler min/mag filter behaviour
    • Sampler.address.test — sampler address modes
    • Sampler.mips.test — sampler mip selection

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Status
Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions