mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-05-30 06:52:38 +00:00
Ubershaders: Support per-pixel lighting
This commit is contained in:
parent
c8f31656cb
commit
e968c191ff
12 changed files with 311 additions and 303 deletions
|
@ -593,11 +593,8 @@ void PixelShaderCache::Shutdown()
|
|||
|
||||
bool PixelShaderCache::SetShader()
|
||||
{
|
||||
if (g_ActiveConfig.CanUseUberShaders() &&
|
||||
(g_ActiveConfig.bDisableSpecializedShaders || g_ActiveConfig.bForcePixelUberShaders))
|
||||
{
|
||||
if (g_ActiveConfig.bDisableSpecializedShaders || g_ActiveConfig.bForcePixelUberShaders)
|
||||
return SetUberShader();
|
||||
}
|
||||
|
||||
PixelShaderUid uid = GetPixelShaderUid();
|
||||
if (last_entry && uid == last_uid)
|
||||
|
|
|
@ -249,11 +249,8 @@ void VertexShaderCache::Shutdown()
|
|||
|
||||
bool VertexShaderCache::SetShader(D3DVertexFormat* vertex_format)
|
||||
{
|
||||
if (g_ActiveConfig.CanUseUberShaders() &&
|
||||
(g_ActiveConfig.bDisableSpecializedShaders || g_ActiveConfig.bForceVertexUberShaders))
|
||||
{
|
||||
if (g_ActiveConfig.bDisableSpecializedShaders || g_ActiveConfig.bForceVertexUberShaders)
|
||||
return SetUberShader(vertex_format);
|
||||
}
|
||||
|
||||
VertexShaderUid uid = GetVertexShaderUid();
|
||||
if (last_entry && uid == last_uid)
|
||||
|
|
|
@ -223,7 +223,7 @@ void ProgramShaderCache::UploadConstants()
|
|||
|
||||
SHADER* ProgramShaderCache::SetShader(u32 primitive_type, const GLVertexFormat* vertex_format)
|
||||
{
|
||||
if (g_ActiveConfig.bDisableSpecializedShaders && g_ActiveConfig.CanUseUberShaders())
|
||||
if (g_ActiveConfig.bDisableSpecializedShaders)
|
||||
return SetUberShader(primitive_type, vertex_format);
|
||||
|
||||
SHADERUID uid;
|
||||
|
|
|
@ -389,13 +389,6 @@ bool StateTracker::CheckForShaderChanges(u32 gx_primitive_type)
|
|||
bool uber_vertex_shader = use_ubershaders || g_ActiveConfig.bForceVertexUberShaders;
|
||||
bool uber_pixel_shader = use_ubershaders || g_ActiveConfig.bForcePixelUberShaders;
|
||||
bool using_ubershaders = uber_vertex_shader || uber_pixel_shader;
|
||||
if (!g_ActiveConfig.CanUseUberShaders())
|
||||
{
|
||||
// Per-pixel lighting disables ubershaders.
|
||||
uber_vertex_shader = false;
|
||||
uber_pixel_shader = false;
|
||||
using_ubershaders = false;
|
||||
}
|
||||
|
||||
// Switching to/from ubershaders? Have to adjust the vertex format and pipeline layout.
|
||||
if (using_ubershaders != m_using_ubershaders)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue