VideoCommon/TextureConversionShader: Convert over to using ShaderCode

Migrates the shader generator off the use of a global array, eliminating
the use of some global state. This also allows us to move the shader
generation over to using fmt in a subsequent change.
This commit is contained in:
Lioncash 2020-01-23 13:06:55 -05:00
parent ea9b96370d
commit aa77dff3a2
3 changed files with 509 additions and 510 deletions

View File

@ -1178,7 +1178,7 @@ const AbstractPipeline* ShaderCache::GetEFBCopyToRAMPipeline(const EFBCopyParams
if (iter != m_efb_copy_to_ram_pipelines.end())
return iter->second.get();
const char* const shader_code =
const std::string shader_code =
TextureConversionShaderTiled::GenerateEncodingShader(uid, m_api_type);
const auto shader = g_renderer->CreateShaderFromSource(ShaderStage::Pixel, shader_code);
if (!shader)

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,7 @@ namespace TextureConversionShaderTiled
{
u16 GetEncodedSampleCount(EFBCopyFormat format);
const char* GenerateEncodingShader(const EFBCopyParams& params, APIType ApiType);
std::string GenerateEncodingShader(const EFBCopyParams& params, APIType api_type);
// Information required to compile and dispatch a texture decoding shader.
struct DecodingShaderInfo