r300: add new register class list for vertex shaders

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Tested-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19618>
This commit is contained in:
Pavel Ondračka 2022-10-26 17:30:35 +02:00 committed by Marge Bot
parent 59e22d9d35
commit 431467b1d9
2 changed files with 39 additions and 0 deletions

View file

@ -33,6 +33,37 @@
#define DBG(...) do { if (VERBOSE) fprintf(stderr, __VA_ARGS__); } while(0)
const struct rc_class rc_class_list_vp [] = {
{RC_REG_CLASS_VP_SINGLE, 4,
{RC_MASK_X,
RC_MASK_Y,
RC_MASK_Z,
RC_MASK_W,
RC_MASK_NONE,
RC_MASK_NONE}},
{RC_REG_CLASS_VP_DOUBLE, 6,
{RC_MASK_X | RC_MASK_Y,
RC_MASK_X | RC_MASK_Z,
RC_MASK_X | RC_MASK_W,
RC_MASK_Y | RC_MASK_Z,
RC_MASK_Y | RC_MASK_W,
RC_MASK_Z | RC_MASK_W}},
{RC_REG_CLASS_VP_TRIPLE, 4,
{RC_MASK_X | RC_MASK_Y | RC_MASK_Z,
RC_MASK_X | RC_MASK_Y | RC_MASK_W,
RC_MASK_X | RC_MASK_Z | RC_MASK_W,
RC_MASK_Y | RC_MASK_Z | RC_MASK_W,
RC_MASK_NONE,
RC_MASK_NONE}},
{RC_REG_CLASS_VP_QUADRUPLE, 1,
{RC_MASK_X | RC_MASK_Y | RC_MASK_Z | RC_MASK_W,
RC_MASK_NONE,
RC_MASK_NONE,
RC_MASK_NONE,
RC_MASK_NONE,
RC_MASK_NONE}}
};
const struct rc_class rc_class_list_fp [] = {
{RC_REG_CLASS_FP_SINGLE, 3,
{RC_MASK_X,

View file

@ -59,6 +59,14 @@ enum rc_reg_class {
RC_REG_CLASS_FP_COUNT
};
enum rc_reg_class_vp {
RC_REG_CLASS_VP_SINGLE,
RC_REG_CLASS_VP_DOUBLE,
RC_REG_CLASS_VP_TRIPLE,
RC_REG_CLASS_VP_QUADRUPLE,
RC_REG_CLASS_VP_COUNT
};
struct rc_regalloc_state {
struct ra_regs *regs;
struct ra_class *classes[RC_REG_CLASS_FP_COUNT];