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 --- slang.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'slang.h') diff --git a/slang.h b/slang.h index fd6655fea..e00b813a8 100644 --- a/slang.h +++ b/slang.h @@ -1801,6 +1801,7 @@ extern "C" SLANG_TYPE_KIND_INTERFACE, SLANG_TYPE_KIND_OUTPUT_STREAM, SLANG_TYPE_KIND_SPECIALIZED, + SLANG_TYPE_KIND_FEEDBACK, SLANG_TYPE_KIND_COUNT, }; @@ -1842,6 +1843,8 @@ extern "C" SLANG_ACCELERATION_STRUCTURE = 0x09, SLANG_RESOURCE_EXT_SHAPE_MASK = 0xF0, + + SLANG_TEXTURE_FEEDBACK_FLAG = 0x10, SLANG_TEXTURE_ARRAY_FLAG = 0x40, SLANG_TEXTURE_MULTISAMPLE_FLAG = 0x80, @@ -1862,6 +1865,7 @@ extern "C" SLANG_RESOURCE_ACCESS_RASTER_ORDERED, SLANG_RESOURCE_ACCESS_APPEND, SLANG_RESOURCE_ACCESS_CONSUME, + SLANG_RESOURCE_ACCESS_WRITE, }; typedef unsigned int SlangParameterCategory; @@ -2205,6 +2209,7 @@ namespace slang Interface = SLANG_TYPE_KIND_INTERFACE, OutputStream = SLANG_TYPE_KIND_OUTPUT_STREAM, Specialized = SLANG_TYPE_KIND_SPECIALIZED, + Feedback = SLANG_TYPE_KIND_FEEDBACK, }; enum ScalarType : SlangScalarType -- cgit v1.2.3