Support the sampleRateShading feature.
This is for fragment shaders that run per-sample instead of per-fragment. It implies that the `SampleId`, `SampleMask`, and `SamplePosition` builtins, as well as per-sample interpolation, are all available--using any of these causes the frag shader to run once per sample. (In Metal, reading the color buffers may also cause a frag shader to run per-sample.) Update SPIRV-Cross to pull in a change that properly translates the `SamplePosition` builtin to a form that Metal can understand.
This commit is contained in:
parent
13a950e1ec
commit
eeca918c92
@ -1 +1 @@
|
||||
9ffd4172b46408ab6b03625b0f4f9cfafa5aaa71
|
||||
bfbe36f6362fa277aa0f966e35927c9aedd60d01
|
||||
|
@ -480,6 +480,7 @@ void MVKPhysicalDevice::initFeatures() {
|
||||
_features.robustBufferAccess = true; // XXX Required by Vulkan spec
|
||||
_features.fullDrawIndexUint32 = true;
|
||||
_features.independentBlend = true;
|
||||
_features.sampleRateShading = true;
|
||||
_features.depthBiasClamp = true;
|
||||
_features.fillModeNonSolid = true;
|
||||
_features.largePoints = true;
|
||||
@ -532,7 +533,7 @@ void MVKPhysicalDevice::initFeatures() {
|
||||
// VkBool32 independentBlend; // done
|
||||
// VkBool32 geometryShader;
|
||||
// VkBool32 tessellationShader;
|
||||
// VkBool32 sampleRateShading;
|
||||
// VkBool32 sampleRateShading; // done
|
||||
// VkBool32 dualSrcBlend; // done
|
||||
// VkBool32 logicOp;
|
||||
// VkBool32 multiDrawIndirect; // done
|
||||
|
Loading…
x
Reference in New Issue
Block a user