glsl: Add stubs for sparse queries and variable aoffi when not supported
This commit is contained in:
parent
6aa1bf7b6f
commit
5e7b2b9661
7 changed files with 47 additions and 13 deletions
|
@ -160,6 +160,7 @@ Device::Device() {
|
|||
has_depth_buffer_float = HasExtension(extensions, "GL_NV_depth_buffer_float");
|
||||
has_nv_gpu_shader_5 = GLAD_GL_NV_gpu_shader5;
|
||||
has_amd_shader_half_float = GLAD_GL_AMD_gpu_shader_half_float;
|
||||
has_sparse_texture_2 = GLAD_GL_ARB_sparse_texture2;
|
||||
warp_size_potentially_larger_than_guest = !is_nvidia && !is_intel;
|
||||
|
||||
// At the moment of writing this, only Nvidia's driver optimizes BufferSubData on exclusive
|
||||
|
|
|
@ -128,6 +128,10 @@ public:
|
|||
return has_amd_shader_half_float;
|
||||
}
|
||||
|
||||
bool HasSparseTexture2() const {
|
||||
return has_sparse_texture_2;
|
||||
}
|
||||
|
||||
bool IsWarpSizePotentiallyLargerThanGuest() const {
|
||||
return warp_size_potentially_larger_than_guest;
|
||||
}
|
||||
|
@ -165,6 +169,7 @@ private:
|
|||
bool has_depth_buffer_float{};
|
||||
bool has_nv_gpu_shader_5{};
|
||||
bool has_amd_shader_half_float{};
|
||||
bool has_sparse_texture_2{};
|
||||
bool warp_size_potentially_larger_than_guest{};
|
||||
};
|
||||
|
||||
|
|
|
@ -193,6 +193,8 @@ ShaderCache::ShaderCache(RasterizerOpenGL& rasterizer_, Core::Frontend::EmuWindo
|
|||
.support_gl_amd_gpu_shader_half_float = device.HasAmdShaderHalfFloat(),
|
||||
.support_gl_texture_shadow_lod = device.HasTextureShadowLod(),
|
||||
.support_gl_warp_intrinsics = false,
|
||||
.support_gl_variable_aoffi = device.HasVariableAoffi(),
|
||||
.support_gl_sparse_textures = device.HasSparseTexture2(),
|
||||
|
||||
.warp_size_potentially_larger_than_guest = device.IsWarpSizePotentiallyLargerThanGuest(),
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue