Vulkan: Support OES_sample_variables extension

Enable OES_sample_variables extension on Vulkan backend.
Add support for built-in variables, uniform state and constants
- gl_SampleId, gl_SamplePosition, gl_SampleMask,
  gl_SampleMaskIn
- gl_NumSamples
- gl_MaxSamples

Bug: angleproject:3588
Tests: dEQP-GLES31.functional.shaders.sample_variables.*
       KHR-GLES31.core.sample_variables.*
Change-Id: Idf37c7b4ccb0331dbda7acd6389ff4e1022ba959
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477907
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
This commit is contained in:
Mohan Maiya
2020-11-19 07:58:05 -08:00
committed by Commit Bot
parent 353770e133
commit 8a401051a8
35 changed files with 10122 additions and 9648 deletions

View File

@@ -248,6 +248,7 @@ int main(int argc, char *argv[])
compileOptions |= SH_SELECT_VIEW_IN_NV_GLSL_VERTEX_SHADER;
break;
case 'y': resources.EXT_YUV_target = 1; break;
case 's': resources.OES_sample_variables = 1; break;
default: failCode = EFailUsage;
}
// clang-format on
@@ -413,7 +414,8 @@ void usage()
" -x=n : enable NV_shader_framebuffer_fetch\n"
" -x=a : enable ARM_shader_framebuffer_fetch\n"
" -x=m : enable OVR_multiview\n"
" -x=y : enable YUV_target\n");
" -x=y : enable YUV_target\n"
" -x=s : enable OES_sample_variables\n");
// clang-format on
}