SPIRV-Cross/reference/shaders-msl/asm/frag
Bill Hollings fd252b21ff Separate (partially) the tracking of depth images from depth compare ops.
SPIR-V allows an image to be marked as a depth image, but with a non-depth
format. Such images should be read or sampled as vectors instead of scalars,
except when they are subject to compare operations.

Don't mark an OpSampledImage as using a compare operation just because the
image contains a depth marker. Instead, require that a compare operation
is actually used on that image.

Compiler::image_is_comparison() was really testing whether an image is a
depth image, since it incorporates the depth marker. Rename that function
to is_depth_image(), to clarify what it is really testing.

In Compiler::is_depth_image(), do not treat an image  as a depth image
if it has been explicitly marked with a color format, unless the image
is subject to compare operations.

In CompilerMSL::to_function_name(), test for compare operations
specifically, rather than assuming them from the depth-image marker.

CompilerGLSL and CompilerMSL still contain a number of internal tests that
use is_depth_image() both for testing for a depth image, and for testing
whether compare operations are being used. I've left these as they are
for now, but these should be cleaned up at some point.

Add unit tests for fetch/sample depth images with color formats and no compare ops.
2021-11-08 15:59:45 -05:00
..
combined-sampler-reuse.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
default-member-names.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
depth-image-color-format-fetch.asm.frag Separate (partially) the tracking of depth images from depth compare ops. 2021-11-08 15:59:45 -05:00
depth-image-color-format-sampled.asm.frag Separate (partially) the tracking of depth images from depth compare ops. 2021-11-08 15:59:45 -05:00
descriptor-array-unnamed.asm.frag MSL: Do not declare array of UBO/SSBO as spvUnsafeArray<T>. 2019-10-26 16:10:08 +02:00
disable-renamed-output.frag-output.asm.frag MSL: Force disabled fragment builtins to have the right name. 2020-04-15 19:25:18 -05:00
empty-struct.asm.frag Implement constant empty struct correctly on all backends. 2019-10-26 16:10:11 +02:00
extract-packed-from-composite.asm.frag MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00
frem.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
function-overload-alias.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
image-extract-reuse.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
implicit-read-dep-phi.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
inf-nan-constant.asm.frag Add comment after inf/nan float number for clarifying. 2021-05-27 02:40:41 +08:00
interpolation-qualifiers-struct.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
line-directive.line.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
locations-components.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
lut-promotion-initializer.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
min-lod.msl22.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
op-constant-null.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
op-image-sampled-image.asm.frag MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00
pass-by-value.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
phi-loop-variable.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
pull-model-interpolation.asm.msl23.frag MSL: Don't emit weird reference type for spvUnsafeArray types. 2021-04-19 12:10:49 +02:00
sample-and-compare.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
single-function-private-lut.asm.frag MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
srem.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
storage-class-output-initializer.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
texel-fetch-no-lod.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
texture-atomics.asm.frag Removed bounds checks in favor of SPIRV-Tools pass '--graphics-robust-access' 2019-10-21 16:39:53 -04:00
texture-atomics.asm.graphics-robust-access.frag Removed bounds checks in favor of SPIRV-Tools pass '--graphics-robust-access' 2019-10-21 16:39:53 -04:00
texture-sampling-fp16.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
undef-variable-store.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
unknown-depth-state.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
unord-relational-op.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
unreachable.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
vector-shuffle-oom.asm.frag MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00