diff options
author | Rhys Perry <[email protected]> | 2018-07-04 10:21:41 +0100 |
---|---|---|
committer | Karol Herbst <[email protected]> | 2018-07-04 16:04:23 +0200 |
commit | c2ae9b4052701f8fde47947acb9ee47a878e1409 (patch) | |
tree | 7965e7ace9319ad8502a21efc08f8adf9631759c /src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp | |
parent | 2d5ddbe960f7c62a8f00d5e800925865f115970f (diff) |
nvc0: implement multisampled images on Maxwell+
Changes in v2:
- make loadSuInfo32() protected without making the rest protected
- move NVC0_SU_INFO_* into nv50_ir_lowering_nvc0.h instead of duplicating
NVC0_SU_INFO_MS
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Karol Herbst <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 31 |
1 files changed, 2 insertions, 29 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp index 5723847234e..597dcdffbe2 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp @@ -1712,35 +1712,6 @@ NVC0LoweringPass::loadMsInfo32(Value *ptr, uint32_t off) mkLoadv(TYPE_U32, bld.mkSymbol(FILE_MEMORY_CONST, b, TYPE_U32, off), ptr); } -/* On nvc0, surface info is obtained via the surface binding points passed - * to the SULD/SUST instructions. - * On nve4, surface info is stored in c[] and is used by various special - * instructions, e.g. for clamping coordinates or generating an address. - * They couldn't just have added an equivalent to TIC now, couldn't they ? - */ -#define NVC0_SU_INFO_ADDR 0x00 -#define NVC0_SU_INFO_FMT 0x04 -#define NVC0_SU_INFO_DIM_X 0x08 -#define NVC0_SU_INFO_PITCH 0x0c -#define NVC0_SU_INFO_DIM_Y 0x10 -#define NVC0_SU_INFO_ARRAY 0x14 -#define NVC0_SU_INFO_DIM_Z 0x18 -#define NVC0_SU_INFO_UNK1C 0x1c -#define NVC0_SU_INFO_WIDTH 0x20 -#define NVC0_SU_INFO_HEIGHT 0x24 -#define NVC0_SU_INFO_DEPTH 0x28 -#define NVC0_SU_INFO_TARGET 0x2c -#define NVC0_SU_INFO_BSIZE 0x30 -#define NVC0_SU_INFO_RAW_X 0x34 -#define NVC0_SU_INFO_MS_X 0x38 -#define NVC0_SU_INFO_MS_Y 0x3c - -#define NVC0_SU_INFO__STRIDE 0x40 - -#define NVC0_SU_INFO_DIM(i) (0x08 + (i) * 8) -#define NVC0_SU_INFO_SIZE(i) (0x20 + (i) * 4) -#define NVC0_SU_INFO_MS(i) (0x38 + (i) * 4) - inline Value * NVC0LoweringPass::loadSuInfo32(Value *ptr, int slot, uint32_t off, bool bindless) { @@ -2349,6 +2320,8 @@ NVC0LoweringPass::processSurfaceCoordsGM107(TexInstruction *su) bld.setPosition(su, false); + adjustCoordinatesMS(su); + // add texture handle switch (su->op) { case OP_SUSTP: |