Implement textureQueryLevels (#1007)
This commit is contained in:
parent
31b94f4641
commit
49d7b1c7d8
2 changed files with 9 additions and 3 deletions
|
@ -15,11 +15,10 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl
|
||||||
|
|
||||||
public static void Declare(CodeGenContext context, StructuredProgramInfo info)
|
public static void Declare(CodeGenContext context, StructuredProgramInfo info)
|
||||||
{
|
{
|
||||||
context.AppendLine("#version 420 core");
|
context.AppendLine("#version 430 core");
|
||||||
context.AppendLine("#extension GL_ARB_gpu_shader_int64 : enable");
|
context.AppendLine("#extension GL_ARB_gpu_shader_int64 : enable");
|
||||||
context.AppendLine("#extension GL_ARB_shader_ballot : enable");
|
context.AppendLine("#extension GL_ARB_shader_ballot : enable");
|
||||||
context.AppendLine("#extension GL_ARB_shader_group_vote : enable");
|
context.AppendLine("#extension GL_ARB_shader_group_vote : enable");
|
||||||
context.AppendLine("#extension GL_ARB_shader_storage_buffer_object : enable");
|
|
||||||
|
|
||||||
if (context.Config.Stage == ShaderStage.Compute)
|
if (context.Config.Stage == ShaderStage.Compute)
|
||||||
{
|
{
|
||||||
|
|
|
@ -494,7 +494,14 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions
|
||||||
|
|
||||||
string lodExpr = GetSoureExpr(context, lod, GetSrcVarType(operation.Inst, lodSrcIndex));
|
string lodExpr = GetSoureExpr(context, lod, GetSrcVarType(operation.Inst, lodSrcIndex));
|
||||||
|
|
||||||
return $"textureSize({samplerName}, {lodExpr}){GetMask(texOp.Index)}";
|
if (texOp.Index == 3)
|
||||||
|
{
|
||||||
|
return $"textureQueryLevels({samplerName})";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return $"textureSize({samplerName}, {lodExpr}){GetMask(texOp.Index)}";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string GetStorageBufferAccessor(string slotExpr, string offsetExpr, ShaderStage stage)
|
private static string GetStorageBufferAccessor(string slotExpr, string offsetExpr, ShaderStage stage)
|
||||||
|
|
Reference in a new issue