mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 06:58:05 +02:00
nv50,nvc0: replace resInfoCBSlot by auxCBSlot
Having two different variables for the driver constant buffer slot is confusing and really useless. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Acked-by: Ilia Mirkin <imirkin@alum.mit.edu> Acked-by: Pierre Moreau <pierre.morrow@free.fr>
This commit is contained in:
parent
e05492fd7f
commit
d86933e6f4
6 changed files with 10 additions and 16 deletions
|
|
@ -160,7 +160,7 @@ struct nv50_ir_prog_info
|
|||
uint8_t clipDistances; /* number of clip distance outputs */
|
||||
uint8_t cullDistances; /* number of cull distance outputs */
|
||||
int8_t genUserClip; /* request user clip planes for ClipVertex */
|
||||
uint8_t auxCBSlot; /* constant buffer index of UCP/draw data */
|
||||
uint8_t auxCBSlot; /* driver constant buffer slot */
|
||||
uint16_t ucpBase; /* base address for UCPs */
|
||||
uint16_t drawInfoBase; /* base address for draw parameters */
|
||||
uint8_t pointSize; /* output index for PointSize */
|
||||
|
|
@ -175,7 +175,6 @@ struct nv50_ir_prog_info
|
|||
uint8_t globalAccess; /* 1 for read, 2 for wr, 3 for rw */
|
||||
bool fp64; /* program uses fp64 math */
|
||||
bool nv50styleSurfaces; /* generate gX[] access for raw buffers */
|
||||
uint8_t resInfoCBSlot; /* cX[] used for tex handles, surface info */
|
||||
uint16_t texBindBase; /* base address for tex handles (nve4) */
|
||||
uint16_t suInfoBase; /* base address for surface info (nve4) */
|
||||
uint16_t sampleInfoBase; /* base address for sample positions */
|
||||
|
|
|
|||
|
|
@ -682,7 +682,7 @@ void NV50LoweringPreSSA::loadTexMsInfo(uint32_t off, Value **ms,
|
|||
Value **ms_x, Value **ms_y) {
|
||||
// This loads the texture-indexed ms setting from the constant buffer
|
||||
Value *tmp = new_LValue(func, FILE_GPR);
|
||||
uint8_t b = prog->driver->io.resInfoCBSlot;
|
||||
uint8_t b = prog->driver->io.auxCBSlot;
|
||||
off += prog->driver->io.suInfoBase;
|
||||
if (prog->getType() > Program::TYPE_VERTEX)
|
||||
off += 16 * 2 * 4;
|
||||
|
|
@ -1174,7 +1174,7 @@ NV50LoweringPreSSA::handleRDSV(Instruction *i)
|
|||
bld.mkLoad(TYPE_F32,
|
||||
def,
|
||||
bld.mkSymbol(
|
||||
FILE_MEMORY_CONST, prog->driver->io.resInfoCBSlot,
|
||||
FILE_MEMORY_CONST, prog->driver->io.auxCBSlot,
|
||||
TYPE_U32, prog->driver->io.sampleInfoBase + 4 * idx),
|
||||
off);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -600,7 +600,7 @@ NVC0LoweringPass::visit(BasicBlock *bb)
|
|||
inline Value *
|
||||
NVC0LoweringPass::loadTexHandle(Value *ptr, unsigned int slot)
|
||||
{
|
||||
uint8_t b = prog->driver->io.resInfoCBSlot;
|
||||
uint8_t b = prog->driver->io.auxCBSlot;
|
||||
uint32_t off = prog->driver->io.texBindBase + slot * 4;
|
||||
return bld.
|
||||
mkLoadv(TYPE_U32, bld.mkSymbol(FILE_MEMORY_CONST, b, TYPE_U32, off), ptr);
|
||||
|
|
@ -1205,7 +1205,7 @@ NVC0LoweringPass::handleCasExch(Instruction *cas, bool needCctl)
|
|||
inline Value *
|
||||
NVC0LoweringPass::loadResInfo32(Value *ptr, uint32_t off)
|
||||
{
|
||||
uint8_t b = prog->driver->io.resInfoCBSlot;
|
||||
uint8_t b = prog->driver->io.auxCBSlot;
|
||||
off += prog->driver->io.suInfoBase;
|
||||
return bld.
|
||||
mkLoadv(TYPE_U32, bld.mkSymbol(FILE_MEMORY_CONST, b, TYPE_U32, off), ptr);
|
||||
|
|
@ -1214,7 +1214,7 @@ NVC0LoweringPass::loadResInfo32(Value *ptr, uint32_t off)
|
|||
inline Value *
|
||||
NVC0LoweringPass::loadResInfo64(Value *ptr, uint32_t off)
|
||||
{
|
||||
uint8_t b = prog->driver->io.resInfoCBSlot;
|
||||
uint8_t b = prog->driver->io.auxCBSlot;
|
||||
off += prog->driver->io.suInfoBase;
|
||||
|
||||
if (ptr)
|
||||
|
|
@ -1227,7 +1227,7 @@ NVC0LoweringPass::loadResInfo64(Value *ptr, uint32_t off)
|
|||
inline Value *
|
||||
NVC0LoweringPass::loadResLength32(Value *ptr, uint32_t off)
|
||||
{
|
||||
uint8_t b = prog->driver->io.resInfoCBSlot;
|
||||
uint8_t b = prog->driver->io.auxCBSlot;
|
||||
off += prog->driver->io.suInfoBase;
|
||||
|
||||
if (ptr)
|
||||
|
|
@ -1541,7 +1541,7 @@ NVC0LoweringPass::handleSurfaceOpNVE4(TexInstruction *su)
|
|||
call->indirect = 1;
|
||||
call->absolute = 1;
|
||||
call->setSrc(0, bld.mkSymbol(FILE_MEMORY_CONST,
|
||||
prog->driver->io.resInfoCBSlot, TYPE_U32,
|
||||
prog->driver->io.auxCBSlot, TYPE_U32,
|
||||
prog->driver->io.suInfoBase + base));
|
||||
call->setSrc(1, r[2]);
|
||||
call->setSrc(2, r[4]);
|
||||
|
|
@ -1716,7 +1716,7 @@ NVC0LoweringPass::handleRDSV(Instruction *i)
|
|||
bld.mkLoad(TYPE_F32,
|
||||
i->getDef(0),
|
||||
bld.mkSymbol(
|
||||
FILE_MEMORY_CONST, prog->driver->io.resInfoCBSlot,
|
||||
FILE_MEMORY_CONST, prog->driver->io.auxCBSlot,
|
||||
TYPE_U32, prog->driver->io.sampleInfoBase +
|
||||
4 * sym->reg.data.sv.index),
|
||||
off);
|
||||
|
|
|
|||
|
|
@ -114,8 +114,6 @@ nouveau_codegen(int chipset, int type, struct tgsi_token tokens[],
|
|||
|
||||
info.io.auxCBSlot = 15;
|
||||
info.io.ucpBase = NV50_CB_AUX_UCP_OFFSET;
|
||||
|
||||
info.io.resInfoCBSlot = 15;
|
||||
info.io.suInfoBase = NV50_CB_AUX_TEX_MS_OFFSET;
|
||||
info.io.msInfoCBSlot = 15;
|
||||
info.io.msInfoBase = NV50_CB_AUX_MS_OFFSET;
|
||||
|
|
|
|||
|
|
@ -335,7 +335,6 @@ nv50_program_translate(struct nv50_program *prog, uint16_t chipset,
|
|||
info->io.ucpBase = NV50_CB_AUX_UCP_OFFSET;
|
||||
info->io.genUserClip = prog->vp.clpd_nr;
|
||||
|
||||
info->io.resInfoCBSlot = 15;
|
||||
info->io.suInfoBase = NV50_CB_AUX_TEX_MS_OFFSET;
|
||||
info->io.sampleInfoBase = NV50_CB_AUX_SAMPLE_OFFSET;
|
||||
info->io.msInfoCBSlot = 15;
|
||||
|
|
|
|||
|
|
@ -540,12 +540,11 @@ nvc0_program_translate(struct nvc0_program *prog, uint16_t chipset,
|
|||
|
||||
if (prog->type == PIPE_SHADER_COMPUTE) {
|
||||
if (chipset >= NVISA_GK104_CHIPSET) {
|
||||
info->io.resInfoCBSlot = 0;
|
||||
info->io.auxCBSlot = 0;
|
||||
info->io.texBindBase = NVE4_CP_INPUT_TEX(0);
|
||||
info->io.suInfoBase = NVE4_CP_INPUT_SUF(0);
|
||||
info->prop.cp.gridInfoBase = NVE4_CP_INPUT_GRID_INFO(0);
|
||||
} else {
|
||||
info->io.resInfoCBSlot = 15;
|
||||
info->io.suInfoBase = 512;
|
||||
}
|
||||
info->io.msInfoCBSlot = 0;
|
||||
|
|
@ -555,7 +554,6 @@ nvc0_program_translate(struct nvc0_program *prog, uint16_t chipset,
|
|||
info->io.texBindBase = 0x20;
|
||||
info->io.suInfoBase = 0; /* TODO */
|
||||
}
|
||||
info->io.resInfoCBSlot = 15;
|
||||
info->io.sampleInfoBase = 256 + 128;
|
||||
info->io.suInfoBase = 512;
|
||||
info->io.msInfoCBSlot = 15;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue