0129250c2e
* Pass CbufSlot when getting info from the texture descriptor Fixes some issues with bindless textures, when CbufSlot is not equal to the current TextureBufferIndex. Specifically fixes a random chance of full screen colour flickering in Super Mario Party. * Apply suggestions from code review Oops Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com>
88 lines
1.6 KiB
C#
88 lines
1.6 KiB
C#
namespace Ryujinx.Graphics.Shader
|
|
{
|
|
public interface IGpuAccessor
|
|
{
|
|
void Log(string message)
|
|
{
|
|
// No default log output.
|
|
}
|
|
|
|
T MemoryRead<T>(ulong address) where T : unmanaged;
|
|
|
|
bool MemoryMapped(ulong address)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
int QueryComputeLocalSizeX()
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int QueryComputeLocalSizeY()
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int QueryComputeLocalSizeZ()
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int QueryComputeLocalMemorySize()
|
|
{
|
|
return 0x1000;
|
|
}
|
|
|
|
int QueryComputeSharedMemorySize()
|
|
{
|
|
return 0xc000;
|
|
}
|
|
|
|
uint QueryConstantBufferUse()
|
|
{
|
|
return 0xffff;
|
|
}
|
|
|
|
bool QueryIsTextureBuffer(int handle, int cbufSlot = -1)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool QueryIsTextureRectangle(int handle, int cbufSlot = -1)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
InputTopology QueryPrimitiveTopology()
|
|
{
|
|
return InputTopology.Points;
|
|
}
|
|
|
|
int QueryStorageBufferOffsetAlignment()
|
|
{
|
|
return 16;
|
|
}
|
|
|
|
bool QuerySupportsImageLoadFormatted()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
bool QuerySupportsNonConstantTextureOffset()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
TextureFormat QueryTextureFormat(int handle, int cbufSlot = -1)
|
|
{
|
|
return TextureFormat.R8G8B8A8Unorm;
|
|
}
|
|
|
|
bool QueryEarlyZForce()
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|