X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fr600%2Fr600_hw_context_priv.h;h=037d5e3cdae268003304bf9afc39d20c6041b30d;hb=897d2351322e4c516eee622b3f49eedca7a2e308;hp=ed5662309824f44f592f7e72efc1786843efa9ac;hpb=1c5625cdb96332a746c9eebe042a3a9dbe844351;p=mesa.git diff --git a/src/gallium/drivers/r600/r600_hw_context_priv.h b/src/gallium/drivers/r600/r600_hw_context_priv.h index ed566230982..037d5e3cdae 100644 --- a/src/gallium/drivers/r600/r600_hw_context_priv.h +++ b/src/gallium/drivers/r600/r600_hw_context_priv.h @@ -27,13 +27,8 @@ #define R600_PRIV_H #include "r600_pipe.h" -#include "util/u_hash_table.h" -#include "os/os_thread.h" -#define R600_MAX_DRAW_CS_DWORDS 17 - -#define PKT_COUNT_C 0xC000FFFF -#define PKT_COUNT_S(x) (((x) & 0x3FFF) << 16) +#define R600_MAX_DRAW_CS_DWORDS 11 /* these flags are used in register flags and added into block flags */ #define REG_FLAG_NEED_BO 1 @@ -44,24 +39,27 @@ #define BLOCK_FLAG_RESOURCE 32 #define REG_FLAG_FLUSH_CHANGE 64 +#define GROUP_FORCE_NEW_BLOCK 0 + struct r600_reg { unsigned offset; unsigned flags; - unsigned flush_flags; + unsigned sbu_flags; }; /* * r600_hw_context.c */ -struct r600_resource *r600_context_reg_bo(struct r600_context *ctx, unsigned offset); int r600_context_add_block(struct r600_context *ctx, const struct r600_reg *reg, unsigned nreg, unsigned opcode, unsigned offset_base); void r600_context_pipe_state_set_resource(struct r600_context *ctx, struct r600_pipe_resource_state *state, struct r600_block *block); void r600_context_dirty_block(struct r600_context *ctx, struct r600_block *block, int dirty, int index); int r600_setup_block_table(struct r600_context *ctx); -void r600_init_cs(struct r600_context *ctx); int r600_resource_init(struct r600_context *ctx, struct r600_range *range, unsigned offset, unsigned nblocks, unsigned stride, struct r600_reg *reg, int nreg, unsigned offset_base); +int r600_state_sampler_init(struct r600_context *ctx, uint32_t offset); +void r600_context_pipe_state_set_sampler(struct r600_context *ctx, struct r600_pipe_state *state, unsigned offset); +void r600_context_ps_partial_flush(struct r600_context *ctx); /* * evergreen_hw_context.c @@ -69,12 +67,4 @@ int r600_resource_init(struct r600_context *ctx, struct r600_range *range, unsig void evergreen_flush_vgt_streamout(struct r600_context *ctx); void evergreen_set_streamout_enable(struct r600_context *ctx, unsigned buffer_enable_bit); - -static INLINE unsigned r600_context_bo_reloc(struct r600_context *ctx, struct r600_resource *rbo, - enum radeon_bo_usage usage) -{ - assert(usage); - return ctx->ws->cs_add_reloc(ctx->cs, rbo->cs_buf, usage, rbo->domains) * 4; -} - #endif