mirror of https://github.com/PCSX2/pcsx2.git
GS: Rename image_load_store capability to primitive_id
The algorithm it enables has changed for all renderers, and no longer needs image_load_store
This commit is contained in:
parent
62f9b16139
commit
3e0f3d05e2
|
@ -699,7 +699,7 @@ public:
|
|||
bool broken_point_sampler : 1; ///< Issue with AMD cards, see tfx shader for details
|
||||
bool geometry_shader : 1; ///< Supports geometry shader
|
||||
bool vs_expand : 1; ///< Supports expanding points/lines/sprites in the vertex shader
|
||||
bool image_load_store : 1; ///< Supports atomic min and max on images (for use with prim tracking destination alpha algorithm)
|
||||
bool primitive_id : 1; ///< Supports primitive ID for use with prim tracking destination alpha algorithm
|
||||
bool texture_barrier : 1; ///< Supports sampling rt and hopefully texture barrier
|
||||
bool provoking_vertex_last: 1; ///< Supports using the last vertex in a primitive as the value for flat shading.
|
||||
bool point_expand : 1; ///< Supports point expansion in hardware without using geometry shaders.
|
||||
|
|
|
@ -45,7 +45,7 @@ GSDevice11::GSDevice11()
|
|||
m_state.bf = -1;
|
||||
|
||||
m_features.geometry_shader = true;
|
||||
m_features.image_load_store = false;
|
||||
m_features.primitive_id = false;
|
||||
m_features.texture_barrier = false;
|
||||
m_features.provoking_vertex_last = false;
|
||||
m_features.point_expand = false;
|
||||
|
|
|
@ -192,7 +192,7 @@ bool GSDevice12::CheckFeatures()
|
|||
m_features.texture_barrier = false;
|
||||
m_features.broken_point_sampler = isAMD;
|
||||
m_features.geometry_shader = true;
|
||||
m_features.image_load_store = true;
|
||||
m_features.primitive_id = true;
|
||||
m_features.prefer_new_textures = true;
|
||||
m_features.provoking_vertex_last = false;
|
||||
m_features.point_expand = false;
|
||||
|
|
|
@ -3464,7 +3464,7 @@ void GSRendererHW::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc
|
|||
{
|
||||
// Note: Fast level (DATE_one) was removed as it's less accurate.
|
||||
GL_PERF("DATE: Accurate with alpha %d-%d", GetAlphaMinMax().min, GetAlphaMinMax().max);
|
||||
if (features.image_load_store)
|
||||
if (features.primitive_id)
|
||||
{
|
||||
DATE_PRIMID = true;
|
||||
}
|
||||
|
|
|
@ -587,7 +587,7 @@ bool GSDeviceMTL::Create(HostDisplay* display)
|
|||
m_features.broken_point_sampler = [[m_dev.dev name] containsString:@"AMD"];
|
||||
m_features.geometry_shader = false;
|
||||
m_features.vs_expand = true;
|
||||
m_features.image_load_store = m_dev.features.primid;
|
||||
m_features.primitive_id = m_dev.features.primid;
|
||||
m_features.texture_barrier = true;
|
||||
m_features.provoking_vertex_last = false;
|
||||
m_features.point_expand = true;
|
||||
|
|
|
@ -217,7 +217,7 @@ bool GSDeviceOGL::Create(HostDisplay* display)
|
|||
// optional features based on context
|
||||
m_features.broken_point_sampler = GLLoader::vendor_id_amd;
|
||||
m_features.geometry_shader = GLLoader::found_geometry_shader;
|
||||
m_features.image_load_store = true;
|
||||
m_features.primitive_id = true;
|
||||
if (GSConfig.OverrideTextureBarriers == 0)
|
||||
m_features.texture_barrier = GLLoader::found_framebuffer_fetch; // Force Disabled
|
||||
else if (GSConfig.OverrideTextureBarriers == 1)
|
||||
|
|
|
@ -230,7 +230,7 @@ bool GSDeviceVK::CheckFeatures()
|
|||
m_features.texture_barrier = GSConfig.OverrideTextureBarriers != 0;
|
||||
m_features.broken_point_sampler = isAMD;
|
||||
m_features.geometry_shader = features.geometryShader && GSConfig.OverrideGeometryShaders != 0;
|
||||
m_features.image_load_store = features.fragmentStoresAndAtomics;
|
||||
m_features.primitive_id = features.fragmentStoresAndAtomics;
|
||||
m_features.prefer_new_textures = true;
|
||||
m_features.provoking_vertex_last = g_vulkan_context->GetOptionalExtensions().vk_ext_provoking_vertex;
|
||||
m_features.dual_source_blend = features.dualSrcBlend && !GSConfig.DisableDualSourceBlend;
|
||||
|
|
Loading…
Reference in New Issue