mirror of
https://github.com/switchbrew/libnx.git
synced 2025-07-04 10:32:15 +02:00
Fixing some bugs
This commit is contained in:
parent
b819f8372f
commit
adfe12fc53
@ -1,14 +1,14 @@
|
|||||||
enum {
|
enum {
|
||||||
NvReg3D_LineWidthSeparate = 0x83,
|
|
||||||
NvReg3D_LocalBase = 0x1df,
|
NvReg3D_LocalBase = 0x1df,
|
||||||
NvReg3D_RenderTargetNAddr = 0x200,
|
NvReg3D_RenderTargetNAddr = 0x80,
|
||||||
NvReg3D_RenderTargetNHorizontal = 0x202,
|
NvReg3D_RenderTargetNHorizontal = 0x82,
|
||||||
NvReg3D_RenderTargetNVertical = 0x203,
|
NvReg3D_RenderTargetNVertical = 0x83,
|
||||||
NvReg3D_RenderTargetNFormat = 0x204,
|
NvReg3D_LineWidthSeparate = 0x83,
|
||||||
NvReg3D_RenderTargetNTileMode = 0x205,
|
NvReg3D_RenderTargetNFormat = 0x84,
|
||||||
NvReg3D_RenderTargetNArrayMode = 0x206,
|
NvReg3D_RenderTargetNTileMode = 0x85,
|
||||||
NvReg3D_RenderTargetNLayerStride = 0x207,
|
NvReg3D_RenderTargetNArrayMode = 0x86,
|
||||||
NvReg3D_RenderTargetNBaseLayer = 0x208,
|
NvReg3D_RenderTargetNLayerStride = 0x87,
|
||||||
|
NvReg3D_RenderTargetNBaseLayer = 0x88,
|
||||||
NvReg3D_ClipRectNHorizontal = 0x340,
|
NvReg3D_ClipRectNHorizontal = 0x340,
|
||||||
NvReg3D_ClipRectNVertical = 0x341,
|
NvReg3D_ClipRectNVertical = 0x341,
|
||||||
NvReg3D_CallLimitLog = 0x359,
|
NvReg3D_CallLimitLog = 0x359,
|
||||||
|
@ -106,19 +106,20 @@ void nvCmdsClearBuffer(
|
|||||||
NvCmd(cmds, NvIncr(0, NvReg3D_ClearColor,
|
NvCmd(cmds, NvIncr(0, NvReg3D_ClearColor,
|
||||||
f2i(colors[0]), f2i(colors[1]), f2i(colors[2]), f2i(colors[3])));
|
f2i(colors[0]), f2i(colors[1]), f2i(colors[2]), f2i(colors[3])));
|
||||||
NvCmd(cmds, NvIncr(0, NvReg3D_ScreenScissorHorizontal,
|
NvCmd(cmds, NvIncr(0, NvReg3D_ScreenScissorHorizontal,
|
||||||
0 | (0x100 << 16), 0 | (0x100 << 16)));
|
0 | (0x100 << 16), 0 | (0x100 << 16)));
|
||||||
NvCmd(cmds, NvImm(0, NvReg3D_RenderTargetControl, 1)); // bit0 probably enables RT #0
|
NvCmd(cmds, NvImm(0, NvReg3D_RenderTargetControl, 1)); // bit0 probably enables RT #0
|
||||||
|
|
||||||
iova_t gpu_addr = nvBufferGetGpuAddr(buf);
|
iova_t gpu_addr = nvBufferGetGpuAddr(buf);
|
||||||
NvCmd(cmds, NvIncr(NvReg3D_RenderTargetNAddr + 0x10*0,
|
NvCmd(cmds,
|
||||||
gpu_addr >> 32, gpu_addr,
|
NvIncr(NvReg3D_RenderTargetNAddr + 0x10*0,
|
||||||
width, height,
|
gpu_addr >> 32, gpu_addr,
|
||||||
0xfe /* Format */,
|
width, height,
|
||||||
0x1000 /* TileMode */,
|
0 /* Format */,
|
||||||
1 /* ArrayMode */,
|
0x1000 /* TileMode */,
|
||||||
0 /* Stride */,
|
1 /* ArrayMode */,
|
||||||
0 /* BaseLayer */
|
0 /* Stride */,
|
||||||
));
|
0 /* BaseLayer */
|
||||||
|
));
|
||||||
int z;
|
int z;
|
||||||
for (z=0; z<32; z++)
|
for (z=0; z<32; z++)
|
||||||
NvCmd(cmds, NvImm(0, NvReg3D_ClearBufferTrigger, 0x3c | (z << 10)));
|
NvCmd(cmds, NvImm(0, NvReg3D_ClearBufferTrigger, 0x3c | (z << 10)));
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
void nvCmdsFifoInit(NvCmdList* cmds) {
|
void nvCmdsFifoInit(NvCmdList* cmds) {
|
||||||
NvCmd(cmds,
|
NvCmd(cmds,
|
||||||
NvIncr(0, NvCmdCommon_BindObject, NvClassNumber_3D),
|
NvIncr(0, NvCmdCommon_BindObject, NvClassNumber_3D),
|
||||||
NvIncr(1, NvCmdCommon_BindObject, NvClassNumber_Compute),
|
NvIncr(1, NvCmdCommon_BindObject, NvClassNumber_Compute),
|
||||||
NvIncr(2, NvCmdCommon_BindObject, NvClassNumber_Kepler),
|
NvIncr(2, NvCmdCommon_BindObject, NvClassNumber_Kepler),
|
||||||
NvIncr(3, NvCmdCommon_BindObject, NvClassNumber_2D),
|
NvIncr(3, NvCmdCommon_BindObject, NvClassNumber_2D),
|
||||||
|
Loading…
Reference in New Issue
Block a user