From: Axel Davy Date: Sat, 19 Mar 2016 18:27:34 +0000 (+0100) Subject: st/nine: Add asserts for output/input packing X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4e89dcf0c4ad543e5404d28b1f949387d63f59ee;p=mesa.git st/nine: Add asserts for output/input packing Nine doesn't support vs output/ps input packing. We haven't found any application requiring that, and implementing it properly is complex. Add asserts for now. Signed-off-by: Axel Davy --- diff --git a/src/gallium/state_trackers/nine/nine_shader.c b/src/gallium/state_trackers/nine/nine_shader.c index 2e822ce80c9..bd373d7c321 100644 --- a/src/gallium/state_trackers/nine/nine_shader.c +++ b/src/gallium/state_trackers/nine/nine_shader.c @@ -2040,6 +2040,7 @@ DECL_SPECIAL(DCL) if (sem.usage == D3DDECLUSAGE_POSITIONT) tx->info->position_t = TRUE; assert(sem.reg.idx < ARRAY_SIZE(tx->regs.o)); + assert(ureg_dst_is_undef(tx->regs.o[sem.reg.idx]) && "Nine doesn't support yet packing"); tx->regs.o[sem.reg.idx] = ureg_DECL_output_masked( ureg, tgsi.Name, tgsi.Index, sem.reg.mask, 0, 1); @@ -2053,6 +2054,7 @@ DECL_SPECIAL(DCL) unsigned interp_location = 0; /* SM3 only, SM2 input semantic determined by file */ assert(sem.reg.idx < ARRAY_SIZE(tx->regs.v)); + assert(ureg_src_is_undef(tx->regs.v[sem.reg.idx]) && "Nine doesn't support yet packing"); /* PositionT and tessfactor forbidden */ if (sem.usage == D3DDECLUSAGE_POSITIONT || sem.usage == D3DDECLUSAGE_TESSFACTOR) return D3DERR_INVALIDCALL;