using System;
namespace Ryujinx.Graphics.Shader
{
public interface IGpuAccessor
void Log(string message)
// No default log output.
}
uint ConstantBuffer1Read(int offset)
return 0;
ReadOnlySpan<ulong> GetCode(ulong address, int minimumSize);
int QueryComputeLocalSizeX()
return 1;
int QueryComputeLocalSizeY()
int QueryComputeLocalSizeZ()
int QueryComputeLocalMemorySize()
return 0x1000;
int QueryComputeSharedMemorySize()
return 0xc000;
uint QueryConstantBufferUse()
bool QueryHostHasFrontFacingBug()
return false;
bool QueryHostHasVectorIndexingBug()
int QueryHostStorageBufferOffsetAlignment()
return 16;
bool QueryHostSupportsImageLoadFormatted()
return true;
bool QueryHostSupportsNonConstantTextureOffset()
bool QueryHostSupportsShaderBallot()
bool QueryHostSupportsTextureShadowLod()
SamplerType QuerySamplerType(int handle, int cbufSlot = -1)
return SamplerType.Texture2D;
bool QueryIsTextureRectangle(int handle, int cbufSlot = -1)
InputTopology QueryPrimitiveTopology()
return InputTopology.Points;
bool QueryTessCw()
TessPatchType QueryTessPatchType()
return TessPatchType.Triangles;
TessSpacing QueryTessSpacing()
return TessSpacing.EqualSpacing;
TextureFormat QueryTextureFormat(int handle, int cbufSlot = -1)
return TextureFormat.R8G8B8A8Unorm;
bool QueryEarlyZForce()