From 79ba9279becf480c9d92bb2faaede0e241f0b029 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Mon, 3 Aug 2020 15:46:16 -0400 Subject: First pass support for Sampler Feedback (#1470) * Add the Feedback texture types. Depreciate SLANG_RESOURCE_EXT_SHAPE_MASK. * Starting point to test sampler feedback. * WIP on FeedbackSampler. * Use __target_intrinsic to override the output of sampler feedback types. * Use newer generic syntax for FeedbackTexture. * Reflects Feedback type. * SLANG_TYPE_KIND_TEXTURE_FEEDBACK -> SLANG_TYPE_KIND_FEEDBACK * Added reflection test. * Reneable issue with generics in sampler-feedback-basic.slang * Add methods to FeedbackTexture2D/Array. Make test cover test cases. * Sampler feedback produces DXC code. * Disabled Sampler feedback test - as requires newer version of DXC. * Fix bug in reflection tool output. * Fix problem with direct-spirv-emit.slang.expected due to update to glslang. * Fix direct-spirv-emit.slang * Use SLANG_RESOURCE_EXT_SHAPE_MASK again * Make Feedback be emitted as a textue type prefix. Co-authored-by: Tim Foley --- .../sampler-feedback-basic.slang.expected | 110 +++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 tests/hlsl-intrinsic/sampler-feedback/sampler-feedback-basic.slang.expected (limited to 'tests/hlsl-intrinsic/sampler-feedback/sampler-feedback-basic.slang.expected') diff --git a/tests/hlsl-intrinsic/sampler-feedback/sampler-feedback-basic.slang.expected b/tests/hlsl-intrinsic/sampler-feedback/sampler-feedback-basic.slang.expected new file mode 100644 index 000000000..1d4dda6b0 --- /dev/null +++ b/tests/hlsl-intrinsic/sampler-feedback/sampler-feedback-basic.slang.expected @@ -0,0 +1,110 @@ +result code = 0 +standard error = { +} +standard output = { +{ + "parameters": [ + { + "name": "feedbackMinMip", + "binding": {"kind": "unorderedAccess", "index": 0}, + "type": { + "kind": "resource", + "baseShape": "texture2D", + "feedback": true, + "access": "write", + "resultType": { + "kind": "Feedback", + "name": "SAMPLER_FEEDBACK_MIN_MIP" + } + } + }, + { + "name": "feedbackMipRegionUsed", + "binding": {"kind": "unorderedAccess", "index": 1}, + "type": { + "kind": "resource", + "baseShape": "texture2D", + "feedback": true, + "access": "write", + "resultType": { + "kind": "Feedback", + "name": "SAMPLER_FEEDBACK_MIP_REGION_USED" + } + } + }, + { + "name": "feedbackMinMipArray", + "binding": {"kind": "unorderedAccess", "index": 2}, + "type": { + "kind": "resource", + "baseShape": "texture2D", + "array": true, + "feedback": true, + "access": "write", + "resultType": { + "kind": "Feedback", + "name": "SAMPLER_FEEDBACK_MIN_MIP" + } + } + }, + { + "name": "feebackMipRegionUsedArray", + "binding": {"kind": "unorderedAccess", "index": 3}, + "type": { + "kind": "resource", + "baseShape": "texture2D", + "array": true, + "feedback": true, + "access": "write", + "resultType": { + "kind": "Feedback", + "name": "SAMPLER_FEEDBACK_MIP_REGION_USED" + } + } + }, + { + "name": "tex2D", + "binding": {"kind": "shaderResource", "index": 0}, + "type": { + "kind": "resource", + "baseShape": "texture2D" + } + }, + { + "name": "tex2DArray", + "binding": {"kind": "shaderResource", "index": 1}, + "type": { + "kind": "resource", + "baseShape": "texture2D", + "array": true + } + }, + { + "name": "samp", + "binding": {"kind": "samplerState", "index": 0}, + "type": { + "kind": "samplerState" + } + } + ], + "entryPoints": [ + { + "name": "main", + "stage:": "fragment", + "result:": { + "stage": "fragment", + "binding": {"kind": "varyingOutput", "index": 0}, + "semanticName": "SV_TARGET", + "type": { + "kind": "vector", + "elementCount": 4, + "elementType": { + "kind": "scalar", + "scalarType": "float32" + } + } + } + } + ] +} +} -- cgit v1.2.3