This commit implements gl_ViewportIndex and gl_Layer in vertex and geometry shaders. In the case it's used in a vertex shader, it requires ARB_shader_viewport_layer_array. This extension is available on AMD and Nvidia devices (mesa and proprietary drivers), but not available on Intel on any platform. At the moment of writing this description I don't know if this is a hardware limitation or a driver limitation. In the case that ARB_shader_viewport_layer_array is not available, writes to these registers on a vertex shader are ignored, with the appropriate logging. |
||
---|---|---|
.. | ||
debug_utils | ||
engines | ||
renderer_opengl | ||
renderer_vulkan | ||
shader | ||
texture_cache | ||
textures | ||
CMakeLists.txt | ||
dma_pusher.cpp | ||
dma_pusher.h | ||
gpu_asynch.cpp | ||
gpu_asynch.h | ||
gpu_synch.cpp | ||
gpu_synch.h | ||
gpu_thread.cpp | ||
gpu_thread.h | ||
gpu.cpp | ||
gpu.h | ||
macro_interpreter.cpp | ||
macro_interpreter.h | ||
memory_manager.cpp | ||
memory_manager.h | ||
morton.cpp | ||
morton.h | ||
rasterizer_cache.cpp | ||
rasterizer_cache.h | ||
rasterizer_interface.h | ||
renderer_base.cpp | ||
renderer_base.h | ||
sampler_cache.cpp | ||
sampler_cache.h | ||
surface.cpp | ||
surface.h | ||
video_core.cpp | ||
video_core.h |