X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fr200%2Fr200_context.h;h=eb498f7406bd29e2e1037d468c14adf791f2aaf4;hb=3bbf93045a494e676f3f79d278701f55a9a41e7a;hp=6267293817d951d67a8987617d99e4f09f606001;hpb=9038b6c8bbda49c544d777c7cf7b107887421c77;p=mesa.git diff --git a/src/mesa/drivers/dri/r200/r200_context.h b/src/mesa/drivers/dri/r200/r200_context.h index 6267293817d..eb498f7406b 100644 --- a/src/mesa/drivers/dri/r200/r200_context.h +++ b/src/mesa/drivers/dri/r200/r200_context.h @@ -29,7 +29,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. /* * Authors: - * Keith Whitwell + * Keith Whitwell */ #ifndef __R200_CONTEXT_H__ @@ -39,7 +39,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "drm.h" #include "radeon_drm.h" #include "dri_util.h" -#include "texmem.h" #include "main/macros.h" #include "main/mtypes.h" @@ -47,8 +46,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "r200_reg.h" #include "r200_vertprog.h" -#define ENABLE_HW_3D_TEXTURE 1 /* XXX this is temporary! */ - #ifndef R200_EMIT_VAP_PVS_CNTL #error This driver requires a newer libdrm to compile #endif @@ -56,8 +53,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "radeon_screen.h" #include "radeon_common.h" -#include "radeon_lock.h" - struct r200_context; typedef struct r200_context r200ContextRec; typedef struct r200_context *r200ContextPtr; @@ -447,19 +442,16 @@ struct r200_texture_state { #define CST_RB3D_DEPTHXY_OFFSET 3 #define CST_CMD_2 4 #define CST_RE_AUX_SCISSOR_CNTL 5 -#define CST_CMD_3 6 -#define CST_RE_SCISSOR_TL_0 7 -#define CST_RE_SCISSOR_BR_0 8 -#define CST_CMD_4 9 -#define CST_SE_VAP_CNTL_STATUS 10 -#define CST_CMD_5 11 -#define CST_RE_POINTSIZE 12 -#define CST_CMD_6 13 -#define CST_SE_TCL_INPUT_VTX_0 14 -#define CST_SE_TCL_INPUT_VTX_1 15 -#define CST_SE_TCL_INPUT_VTX_2 16 -#define CST_SE_TCL_INPUT_VTX_3 17 -#define CST_STATE_SIZE 18 +#define CST_CMD_4 6 +#define CST_SE_VAP_CNTL_STATUS 7 +#define CST_CMD_5 8 +#define CST_RE_POINTSIZE 9 +#define CST_CMD_6 10 +#define CST_SE_TCL_INPUT_VTX_0 11 +#define CST_SE_TCL_INPUT_VTX_1 12 +#define CST_SE_TCL_INPUT_VTX_2 13 +#define CST_SE_TCL_INPUT_VTX_3 14 +#define CST_STATE_SIZE 15 #define PRF_CMD_0 0 #define PRF_PP_TRI_PERF 1 @@ -467,6 +459,21 @@ struct r200_texture_state { #define PRF_STATE_SIZE 3 +#define SCI_CMD_1 0 +#define SCI_XY_1 1 +#define SCI_CMD_2 2 +#define SCI_XY_2 3 +#define SCI_STATE_SIZE 4 + +#define R200_QUERYOBJ_CMD_0 0 +#define R200_QUERYOBJ_DATA_0 1 +#define R200_QUERYOBJ_CMDSIZE 2 + +#define STP_CMD_0 0 +#define STP_DATA_0 1 +#define STP_CMD_1 2 +#define STP_STATE_SIZE 35 + struct r200_hw_state { /* Hardware state, stored as cmdbuf commands: * -- Need to doublebuffer for @@ -475,6 +482,7 @@ struct r200_hw_state { */ struct radeon_state_atom ctx; struct radeon_state_atom set; + struct radeon_state_atom sci; struct radeon_state_atom vte; struct radeon_state_atom lin; struct radeon_state_atom msk; @@ -508,12 +516,12 @@ struct r200_hw_state { struct radeon_state_atom atf; struct radeon_state_atom spr; struct radeon_state_atom ptp; + struct radeon_state_atom stp; }; struct r200_state { /* Derived state for internal purposes: */ - struct radeon_stipple_state stipple; struct r200_texture_state texture; GLuint envneeded; }; @@ -526,8 +534,6 @@ struct r200_state { struct r200_tcl_info { GLuint hw_primitive; - GLuint *Elts; - int elt_used; }; @@ -617,17 +623,30 @@ struct r200_context { struct ati_fragment_shader *afs_loaded; }; -#define R200_CONTEXT(ctx) ((r200ContextPtr)(ctx->DriverCtx)) +static inline r200ContextPtr +R200_CONTEXT(struct gl_context *ctx) +{ + return (r200ContextPtr) ctx; +} -extern void r200DestroyContext( __DRIcontextPrivate *driContextPriv ); -extern GLboolean r200CreateContext( const __GLcontextModes *glVisual, - __DRIcontextPrivate *driContextPriv, + +extern void r200DestroyContext( __DRIcontext *driContextPriv ); +extern GLboolean r200CreateContext( gl_api api, + const struct gl_config *glVisual, + __DRIcontext *driContextPriv, + unsigned major_version, + unsigned minor_version, + uint32_t flags, + bool notify_reset, + unsigned *error, void *sharedContextPrivate); -extern GLboolean r200MakeCurrent( __DRIcontextPrivate *driContextPriv, - __DRIdrawablePrivate *driDrawPriv, - __DRIdrawablePrivate *driReadPriv ); -extern GLboolean r200UnbindContext( __DRIcontextPrivate *driContextPriv ); +extern GLboolean r200MakeCurrent( __DRIcontext *driContextPriv, + __DRIdrawable *driDrawPriv, + __DRIdrawable *driReadPriv ); +extern GLboolean r200UnbindContext( __DRIcontext *driContextPriv ); + +extern void r200_init_texcopy_functions(struct dd_function_table *table); /* ================================================================ * Debugging: