glasm: Add passthrough geometry shader support
This commit is contained in:
parent
7dafa96ab5
commit
8a3427a4c8
5 changed files with 33 additions and 8 deletions
|
@ -160,6 +160,7 @@ Device::Device() {
|
|||
has_vertex_buffer_unified_memory = GLAD_GL_NV_vertex_buffer_unified_memory;
|
||||
has_debugging_tool_attached = IsDebugToolAttached(extensions);
|
||||
has_depth_buffer_float = HasExtension(extensions, "GL_NV_depth_buffer_float");
|
||||
has_geometry_shader_passthrough = GLAD_GL_NV_geometry_shader_passthrough;
|
||||
has_nv_gpu_shader_5 = GLAD_GL_NV_gpu_shader5;
|
||||
has_shader_int64 = HasExtension(extensions, "GL_ARB_gpu_shader_int64");
|
||||
has_amd_shader_half_float = GLAD_GL_AMD_gpu_shader_half_float;
|
||||
|
|
|
@ -120,6 +120,10 @@ public:
|
|||
return has_depth_buffer_float;
|
||||
}
|
||||
|
||||
bool HasGeometryShaderPassthrough() const {
|
||||
return has_geometry_shader_passthrough;
|
||||
}
|
||||
|
||||
bool HasNvGpuShader5() const {
|
||||
return has_nv_gpu_shader_5;
|
||||
}
|
||||
|
@ -174,6 +178,7 @@ private:
|
|||
bool use_asynchronous_shaders{};
|
||||
bool use_driver_cache{};
|
||||
bool has_depth_buffer_float{};
|
||||
bool has_geometry_shader_passthrough{};
|
||||
bool has_nv_gpu_shader_5{};
|
||||
bool has_shader_int64{};
|
||||
bool has_amd_shader_half_float{};
|
||||
|
|
|
@ -187,7 +187,7 @@ ShaderCache::ShaderCache(RasterizerOpenGL& rasterizer_, Core::Frontend::EmuWindo
|
|||
.support_demote_to_helper_invocation = false,
|
||||
.support_int64_atomics = false,
|
||||
.support_derivative_control = device.HasDerivativeControl(),
|
||||
.support_geometry_shader_passthrough = false, // TODO
|
||||
.support_geometry_shader_passthrough = device.HasGeometryShaderPassthrough(),
|
||||
.support_gl_nv_gpu_shader_5 = device.HasNvGpuShader5(),
|
||||
.support_gl_amd_gpu_shader_half_float = device.HasAmdShaderHalfFloat(),
|
||||
.support_gl_texture_shadow_lod = device.HasTextureShadowLod(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue