diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2007-08-13 16:07:11 +0100 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2007-08-13 16:23:44 +0100 |
commit | 40a86b20478024ca7c55400019c536cb5ff631d1 (patch) | |
tree | 624d3f33b07dfba4328b0c7746af5f58fd496292 /src/mesa/pipe | |
parent | d46779103b38aeab61701759ed7a0b30cc71c0ef (diff) |
Start breaking the #include dependencies between pipe drivers and mesa.
Pipe drivers shouldn't really know much about mesa and certainly shouldn't
be #including files from src/mesa/main and the like.
I've also (in i915simple especially) moved over from GL types to
more conventional int/unsigned usage. This probably isn't really the
ultimate desired set of types to use - possibly C99 would be better. It
may even be that a subset of the GL types is preferable.
Diffstat (limited to 'src/mesa/pipe')
27 files changed, 553 insertions, 584 deletions
diff --git a/src/mesa/pipe/i915simple/i915_blit.c b/src/mesa/pipe/i915simple/i915_blit.c index 4fc216dd33..5044cf17f7 100644 --- a/src/mesa/pipe/i915simple/i915_blit.c +++ b/src/mesa/pipe/i915simple/i915_blit.c @@ -28,7 +28,7 @@ #include <stdio.h> -#include "mtypes.h" +//#include "mtypes.h" #include "i915_context.h" #include "i915_winsys.h" @@ -40,15 +40,15 @@ void i915_fill_blit(struct i915_context *i915, - GLuint cpp, - GLshort dst_pitch, + unsigned cpp, + short dst_pitch, struct pipe_buffer_handle *dst_buffer, - GLuint dst_offset, - GLshort x, GLshort y, - GLshort w, GLshort h, - GLuint color) + unsigned dst_offset, + short x, short y, + short w, short h, + unsigned color) { - GLuint BR13, CMD; + unsigned BR13, CMD; BATCH_LOCALS; dst_pitch *= cpp; @@ -86,18 +86,18 @@ i915_fill_blit(struct i915_context *i915, void i915_copy_blit( struct i915_context *i915, - GLuint cpp, - GLshort src_pitch, + unsigned cpp, + short src_pitch, struct pipe_buffer_handle *src_buffer, - GLuint src_offset, - GLshort dst_pitch, + unsigned src_offset, + short dst_pitch, struct pipe_buffer_handle *dst_buffer, - GLuint dst_offset, - GLshort src_x, GLshort src_y, - GLshort dst_x, GLshort dst_y, - GLshort w, GLshort h ) + unsigned dst_offset, + short src_x, short src_y, + short dst_x, short dst_y, + short w, short h ) { - GLuint CMD, BR13; + unsigned CMD, BR13; int dst_y2 = dst_y + h; int dst_x2 = dst_x + w; BATCH_LOCALS; @@ -116,13 +116,13 @@ i915_copy_blit( struct i915_context *i915, case 1: case 2: case 3: - BR13 = (((GLint) dst_pitch) & 0xffff) | + BR13 = (((int) dst_pitch) & 0xffff) | (0xCC << 16) | (1 << 24); CMD = XY_SRC_COPY_BLT_CMD; break; case 4: BR13 = - (((GLint) dst_pitch) & 0xffff) | + (((int) dst_pitch) & 0xffff) | (0xCC << 16) | (1 << 24) | (1 << 25); CMD = (XY_SRC_COPY_BLT_CMD | XY_SRC_COPY_BLT_WRITE_ALPHA | @@ -151,7 +151,7 @@ i915_copy_blit( struct i915_context *i915, OUT_BATCH((dst_y2 << 16) | dst_x2); OUT_RELOC(dst_buffer, I915_BUFFER_ACCESS_WRITE, dst_offset); OUT_BATCH((src_y << 16) | src_x); - OUT_BATCH(((GLint) src_pitch & 0xffff)); + OUT_BATCH(((int) src_pitch & 0xffff)); OUT_RELOC(src_buffer, I915_BUFFER_ACCESS_READ, src_offset); ADVANCE_BATCH(); } diff --git a/src/mesa/pipe/i915simple/i915_blit.h b/src/mesa/pipe/i915simple/i915_blit.h index b1131a005c..7ea4e979ec 100644 --- a/src/mesa/pipe/i915simple/i915_blit.h +++ b/src/mesa/pipe/i915simple/i915_blit.h @@ -31,24 +31,24 @@ #include "i915_context.h" extern void i915_copy_blit(struct i915_context *i915, - GLuint cpp, - GLshort src_pitch, + unsigned cpp, + short src_pitch, struct pipe_buffer_handle *src_buffer, - GLuint src_offset, - GLshort dst_pitch, + unsigned src_offset, + short dst_pitch, struct pipe_buffer_handle *dst_buffer, - GLuint dst_offset, - GLshort srcx, GLshort srcy, - GLshort dstx, GLshort dsty, - GLshort w, GLshort h ); + unsigned dst_offset, + short srcx, short srcy, + short dstx, short dsty, + short w, short h ); extern void i915_fill_blit(struct i915_context *i915, - GLuint cpp, - GLshort dst_pitch, + unsigned cpp, + short dst_pitch, struct pipe_buffer_handle *dst_buffer, - GLuint dst_offset, - GLshort x, GLshort y, - GLshort w, GLshort h, GLuint color); + unsigned dst_offset, + short x, short y, + short w, short h, unsigned color); #endif diff --git a/src/mesa/pipe/i915simple/i915_clear.c b/src/mesa/pipe/i915simple/i915_clear.c index 11aa55b64b..a4dba1a764 100644 --- a/src/mesa/pipe/i915simple/i915_clear.c +++ b/src/mesa/pipe/i915simple/i915_clear.c @@ -33,7 +33,7 @@ #include "pipe/p_defines.h" #include "i915_context.h" #include "i915_state.h" -#include "colormac.h" +//#include "colormac.h" /** @@ -42,9 +42,9 @@ */ void i915_clear(struct pipe_context *pipe, struct pipe_surface *ps, - GLuint clearValue) + unsigned clearValue) { - GLint x, y, w, h; + int x, y, w, h; x = 0; y = 0; diff --git a/src/mesa/pipe/i915simple/i915_context.c b/src/mesa/pipe/i915simple/i915_context.c index 199352cd70..8a8582e0b2 100644 --- a/src/mesa/pipe/i915simple/i915_context.c +++ b/src/mesa/pipe/i915simple/i915_context.c @@ -25,7 +25,7 @@ * **************************************************************************/ -#include "main/imports.h" /* CALLOC */ +//#include "main/imports.h" /* CALLOC */ #include "i915_context.h" #include "i915_winsys.h" #include "i915_state.h" @@ -36,6 +36,7 @@ #include "pipe/draw/draw_context.h" #include "pipe/p_defines.h" #include "pipe/p_winsys.h" +#include "pipe/p_util.h" /** @@ -43,13 +44,13 @@ * If we find texture and drawable support differs, add a selector * parameter or another function. */ -static const GLuint * +static const unsigned * i915_supported_formats(struct pipe_context *pipe, -// GLuint type, - GLuint *numFormats) +// unsigned type, + unsigned *numFormats) { #if 0 - static const GLuint tex_supported[] = { + static const unsigned tex_supported[] = { PIPE_FORMAT_U_R8_G8_B8_A8, PIPE_FORMAT_U_A8_R8_G8_B8, PIPE_FORMAT_U_R5_G6_B5, @@ -65,14 +66,14 @@ i915_supported_formats(struct pipe_context *pipe, /* Actually a lot more than this - add later: */ - static const GLuint render_supported[] = { + static const unsigned render_supported[] = { PIPE_FORMAT_U_A8_R8_G8_B8, PIPE_FORMAT_U_R5_G6_B5, }; /* */ - static const GLuint z_stencil_supported[] = { + static const unsigned z_stencil_supported[] = { PIPE_FORMAT_U_Z16, PIPE_FORMAT_U_Z32, PIPE_FORMAT_S8_Z24, @@ -96,7 +97,7 @@ i915_supported_formats(struct pipe_context *pipe, return NULL; } #else - static const GLuint render_supported[] = { + static const unsigned render_supported[] = { PIPE_FORMAT_U_A8_R8_G8_B8, PIPE_FORMAT_U_R5_G6_B5, PIPE_FORMAT_S8_Z24, @@ -111,8 +112,8 @@ i915_supported_formats(struct pipe_context *pipe, * We might want to return max texture levels instead... */ static void -i915_max_texture_size(struct pipe_context *pipe, GLuint textureType, - GLuint *maxWidth, GLuint *maxHeight, GLuint *maxDepth) +i915_max_texture_size(struct pipe_context *pipe, unsigned textureType, + unsigned *maxWidth, unsigned *maxHeight, unsigned *maxDepth) { switch (textureType) { case PIPE_TEXTURE_1D: @@ -160,9 +161,9 @@ static void i915_draw_vb( struct pipe_context *pipe, static void i915_draw_vertices(struct pipe_context *pipe, - GLuint mode, - GLuint numVertex, const GLfloat *verts, - GLuint numAttribs, const GLuint attribs[]) + unsigned mode, + unsigned numVertex, const float *verts, + unsigned numAttribs, const unsigned attribs[]) { struct i915_context *i915 = i915_context( pipe ); diff --git a/src/mesa/pipe/i915simple/i915_context.h b/src/mesa/pipe/i915simple/i915_context.h index 93b5e2546c..d69657daa9 100644 --- a/src/mesa/pipe/i915simple/i915_context.h +++ b/src/mesa/pipe/i915simple/i915_context.h @@ -82,10 +82,10 @@ struct i915_cache_context; */ struct i915_state { - GLuint immediate[I915_MAX_IMMEDIATE]; - GLuint dynamic[I915_MAX_DYNAMIC]; + unsigned immediate[I915_MAX_IMMEDIATE]; + unsigned dynamic[I915_MAX_DYNAMIC]; - GLuint id; /* track lost context events */ + unsigned id; /* track lost context events */ }; @@ -113,15 +113,15 @@ struct i915_context struct pipe_stencil_state stencil; struct pipe_mipmap_tree *texture[PIPE_MAX_SAMPLERS]; struct pipe_viewport_state viewport; - GLuint dirty; + unsigned dirty; - GLuint *batch_start; + unsigned *batch_start; struct i915_state current; - GLuint hardware_dirty; + unsigned hardware_dirty; - GLuint debug; - GLuint pci_id; + unsigned debug; + unsigned pci_id; struct { unsigned is_i945:1; @@ -179,7 +179,7 @@ unsigned *i915_passthrough_program( unsigned *dwords ); * i915_clear.c: */ void i915_clear(struct pipe_context *pipe, struct pipe_surface *ps, - GLuint clearValue); + unsigned clearValue); /*********************************************************************** diff --git a/src/mesa/pipe/i915simple/i915_debug.c b/src/mesa/pipe/i915simple/i915_debug.c index 89257e9409..8b7e3628f3 100644 --- a/src/mesa/pipe/i915simple/i915_debug.c +++ b/src/mesa/pipe/i915simple/i915_debug.c @@ -25,7 +25,7 @@ * **************************************************************************/ -#include "imports.h" +//#include "imports.h" #include "i915_reg.h" #include "i915_context.h" @@ -35,15 +35,15 @@ #define PRINTF( ... ) (stream)->winsys->printf( (stream)->winsys, __VA_ARGS__ ) -static GLboolean debug( struct debug_stream *stream, const char *name, GLuint len ) +static boolean debug( struct debug_stream *stream, const char *name, unsigned len ) { - GLuint i; - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); + unsigned i; + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); if (len == 0) { PRINTF("Error - zero length packet (0x%08x)\n", stream->ptr[0]); assert(0); - return GL_FALSE; + return FALSE; } if (stream->print_addresses) @@ -55,13 +55,13 @@ static GLboolean debug( struct debug_stream *stream, const char *name, GLuint le PRINTF("\t0x%08x\n", ptr[i]); PRINTF("\n"); - stream->offset += len * sizeof(GLuint); + stream->offset += len * sizeof(unsigned); - return GL_TRUE; + return TRUE; } -static const char *get_prim_name( GLuint val ) +static const char *get_prim_name( unsigned val ) { switch (val & PRIM3D_MASK) { case PRIM3D_TRILIST: return "TRILIST"; break; @@ -80,13 +80,13 @@ static const char *get_prim_name( GLuint val ) } } -static GLboolean debug_prim( struct debug_stream *stream, const char *name, - GLboolean dump_floats, - GLuint len ) +static boolean debug_prim( struct debug_stream *stream, const char *name, + boolean dump_floats, + unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); const char *prim = get_prim_name( ptr[0] ); - GLuint i; + unsigned i; @@ -94,7 +94,7 @@ static GLboolean debug_prim( struct debug_stream *stream, const char *name, PRINTF("\t0x%08x\n", ptr[0]); for (i = 1; i < len; i++) { if (dump_floats) - PRINTF("\t0x%08x // %f\n", ptr[i], *(GLfloat *)&ptr[i]); + PRINTF("\t0x%08x // %f\n", ptr[i], *(float *)&ptr[i]); else PRINTF("\t0x%08x\n", ptr[i]); } @@ -102,22 +102,22 @@ static GLboolean debug_prim( struct debug_stream *stream, const char *name, PRINTF("\n"); - stream->offset += len * sizeof(GLuint); + stream->offset += len * sizeof(unsigned); - return GL_TRUE; + return TRUE; } -static GLboolean debug_program( struct debug_stream *stream, const char *name, GLuint len ) +static boolean debug_program( struct debug_stream *stream, const char *name, unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); if (len == 0) { PRINTF("Error - zero length packet (0x%08x)\n", stream->ptr[0]); assert(0); - return GL_FALSE; + return FALSE; } if (stream->print_addresses) @@ -126,16 +126,16 @@ static GLboolean debug_program( struct debug_stream *stream, const char *name, G PRINTF("%s (%d dwords):\n", name, len); i915_disassemble_program( stream, ptr, len ); - stream->offset += len * sizeof(GLuint); - return GL_TRUE; + stream->offset += len * sizeof(unsigned); + return TRUE; } -static GLboolean debug_chain( struct debug_stream *stream, const char *name, GLuint len ) +static boolean debug_chain( struct debug_stream *stream, const char *name, unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); - GLuint old_offset = stream->offset + len * sizeof(GLuint); - GLuint i; + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); + unsigned old_offset = stream->offset + len * sizeof(unsigned); + unsigned i; PRINTF("%s (%d dwords):\n", name, len); for (i = 0; i < len; i++) @@ -151,17 +151,17 @@ static GLboolean debug_chain( struct debug_stream *stream, const char *name, GLu old_offset, stream->offset ); - return GL_TRUE; + return TRUE; } -static GLboolean debug_variable_length_prim( struct debug_stream *stream ) +static boolean debug_variable_length_prim( struct debug_stream *stream ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); const char *prim = get_prim_name( ptr[0] ); - GLuint i, len; + unsigned i, len; - GLushort *idx = (GLushort *)(ptr+1); + ushort *idx = (ushort *)(ptr+1); for (i = 0; idx[i] != 0xffff; i++) ; @@ -172,8 +172,8 @@ static GLboolean debug_variable_length_prim( struct debug_stream *stream ) PRINTF("\t0x%08x\n", ptr[i]); PRINTF("\n"); - stream->offset += len * sizeof(GLuint); - return GL_TRUE; + stream->offset += len * sizeof(unsigned); + return TRUE; } @@ -202,13 +202,13 @@ do { \ } \ } while (0) -static GLboolean debug_load_immediate( struct debug_stream *stream, +static boolean debug_load_immediate( struct debug_stream *stream, const char *name, - GLuint len ) + unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); - GLuint bits = (ptr[0] >> 4) & 0xff; - GLuint j = 0; + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); + unsigned bits = (ptr[0] >> 4) & 0xff; + unsigned j = 0; PRINTF("%s (%d dwords, flags: %x):\n", name, len, bits); PRINTF("\t0x%08x\n", ptr[j++]); @@ -302,20 +302,20 @@ static GLboolean debug_load_immediate( struct debug_stream *stream, assert(j == len); - stream->offset += len * sizeof(GLuint); + stream->offset += len * sizeof(unsigned); - return GL_TRUE; + return TRUE; } -static GLboolean debug_load_indirect( struct debug_stream *stream, +static boolean debug_load_indirect( struct debug_stream *stream, const char *name, - GLuint len ) + unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); - GLuint bits = (ptr[0] >> 8) & 0x3f; - GLuint i, j = 0; + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); + unsigned bits = (ptr[0] >> 8) & 0x3f; + unsigned i, j = 0; PRINTF("%s (%d dwords):\n", name, len); PRINTF("\t0x%08x\n", ptr[j++]); @@ -362,13 +362,13 @@ static GLboolean debug_load_indirect( struct debug_stream *stream, assert(j == len); - stream->offset += len * sizeof(GLuint); + stream->offset += len * sizeof(unsigned); - return GL_TRUE; + return TRUE; } static void BR13( struct debug_stream *stream, - GLuint val ) + unsigned val ) { PRINTF("\t0x%08x\n", val); FLAG(val, 30, "clipping enable"); @@ -379,7 +379,7 @@ static void BR13( struct debug_stream *stream, static void BR22( struct debug_stream *stream, - GLuint val ) + unsigned val ) { PRINTF("\t0x%08x\n", val); BITS(val, 31, 16, "dest y1"); @@ -387,7 +387,7 @@ static void BR22( struct debug_stream *stream, } static void BR23( struct debug_stream *stream, - GLuint val ) + unsigned val ) { PRINTF("\t0x%08x\n", val); BITS(val, 31, 16, "dest y2"); @@ -395,13 +395,13 @@ static void BR23( struct debug_stream *stream, } static void BR09( struct debug_stream *stream, - GLuint val ) + unsigned val ) { PRINTF("\t0x%08x -- dest address\n", val); } static void BR26( struct debug_stream *stream, - GLuint val ) + unsigned val ) { PRINTF("\t0x%08x\n", val); BITS(val, 31, 16, "src y1"); @@ -409,29 +409,29 @@ static void BR26( struct debug_stream *stream, } static void BR11( struct debug_stream *stream, - GLuint val ) + unsigned val ) { PRINTF("\t0x%08x\n", val); BITS(val, 15, 0, "src pitch"); } static void BR12( struct debug_stream *stream, - GLuint val ) + unsigned val ) { PRINTF("\t0x%08x -- src address\n", val); } static void BR16( struct debug_stream *stream, - GLuint val ) + unsigned val ) { PRINTF("\t0x%08x -- color\n", val); } -static GLboolean debug_copy_blit( struct debug_stream *stream, +static boolean debug_copy_blit( struct debug_stream *stream, const char *name, - GLuint len ) + unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); int j = 0; PRINTF("%s (%d dwords):\n", name, len); @@ -445,16 +445,16 @@ static GLboolean debug_copy_blit( struct debug_stream *stream, BR11(stream, ptr[j++]); BR12(stream, ptr[j++]); - stream->offset += len * sizeof(GLuint); + stream->offset += len * sizeof(unsigned); assert(j == len); - return GL_TRUE; + return TRUE; } -static GLboolean debug_color_blit( struct debug_stream *stream, +static boolean debug_color_blit( struct debug_stream *stream, const char *name, - GLuint len ) + unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); int j = 0; PRINTF("%s (%d dwords):\n", name, len); @@ -466,16 +466,16 @@ static GLboolean debug_color_blit( struct debug_stream *stream, BR09(stream, ptr[j++]); BR16(stream, ptr[j++]); - stream->offset += len * sizeof(GLuint); + stream->offset += len * sizeof(unsigned); assert(j == len); - return GL_TRUE; + return TRUE; } -static GLboolean debug_modes4( struct debug_stream *stream, +static boolean debug_modes4( struct debug_stream *stream, const char *name, - GLuint len ) + unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); int j = 0; PRINTF("%s (%d dwords):\n", name, len); @@ -487,16 +487,16 @@ static GLboolean debug_modes4( struct debug_stream *stream, BITS(ptr[j], 7, 0, "stencil write mask"); j++; - stream->offset += len * sizeof(GLuint); + stream->offset += len * sizeof(unsigned); assert(j == len); - return GL_TRUE; + return TRUE; } -static GLboolean debug_map_state( struct debug_stream *stream, +static boolean debug_map_state( struct debug_stream *stream, const char *name, - GLuint len ) + unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); int j = 0; PRINTF("%s (%d dwords):\n", name, len); @@ -539,16 +539,16 @@ static GLboolean debug_map_state( struct debug_stream *stream, } } - stream->offset += len * sizeof(GLuint); + stream->offset += len * sizeof(unsigned); assert(j == len); - return GL_TRUE; + return TRUE; } -static GLboolean debug_sampler_state( struct debug_stream *stream, +static boolean debug_sampler_state( struct debug_stream *stream, const char *name, - GLuint len ) + unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); int j = 0; PRINTF("%s (%d dwords):\n", name, len); @@ -599,16 +599,16 @@ static GLboolean debug_sampler_state( struct debug_stream *stream, } } - stream->offset += len * sizeof(GLuint); + stream->offset += len * sizeof(unsigned); assert(j == len); - return GL_TRUE; + return TRUE; } -static GLboolean debug_dest_vars( struct debug_stream *stream, +static boolean debug_dest_vars( struct debug_stream *stream, const char *name, - GLuint len ) + unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); int j = 0; PRINTF("%s (%d dwords):\n", name, len); @@ -634,16 +634,16 @@ static GLboolean debug_dest_vars( struct debug_stream *stream, j++; } - stream->offset += len * sizeof(GLuint); + stream->offset += len * sizeof(unsigned); assert(j == len); - return GL_TRUE; + return TRUE; } -static GLboolean debug_buf_info( struct debug_stream *stream, +static boolean debug_buf_info( struct debug_stream *stream, const char *name, - GLuint len ) + unsigned len ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); int j = 0; PRINTF("%s (%d dwords):\n", name, len); @@ -664,15 +664,15 @@ static GLboolean debug_buf_info( struct debug_stream *stream, PRINTF("\t0x%08x -- buffer base address\n", ptr[j++]); - stream->offset += len * sizeof(GLuint); + stream->offset += len * sizeof(unsigned); assert(j == len); - return GL_TRUE; + return TRUE; } -static GLboolean i915_debug_packet( struct debug_stream *stream ) +static boolean i915_debug_packet( struct debug_stream *stream ) { - GLuint *ptr = (GLuint *)(stream->ptr + stream->offset); - GLuint cmd = *ptr; + unsigned *ptr = (unsigned *)(stream->ptr + stream->offset); + unsigned cmd = *ptr; switch (((cmd >> 29) & 0x7)) { case 0x0: @@ -685,7 +685,7 @@ static GLboolean i915_debug_packet( struct debug_stream *stream ) return debug(stream, "MI_FLUSH", 1); case 0xA: debug(stream, "MI_BATCH_BUFFER_END", 1); - return GL_FALSE; + return FALSE; case 0x22: return debug(stream, "MI_LOAD_REGISTER_IMM", 3); case 0x31: @@ -816,12 +816,12 @@ static GLboolean i915_debug_packet( struct debug_stream *stream ) void i915_dump_batchbuffer( struct i915_context *i915, - GLuint *start, - GLuint *end ) + unsigned *start, + unsigned *end ) { struct debug_stream stream; - GLuint bytes = (end - start) * 4; - GLboolean done = GL_FALSE; + unsigned bytes = (end - start) * 4; + boolean done = FALSE; stream.offset = 0; diff --git a/src/mesa/pipe/i915simple/i915_debug_fp.c b/src/mesa/pipe/i915simple/i915_debug_fp.c index c54d36f294..a108f1ad4f 100644 --- a/src/mesa/pipe/i915simple/i915_debug_fp.c +++ b/src/mesa/pipe/i915simple/i915_debug_fp.c @@ -25,15 +25,12 @@ * **************************************************************************/ -#include <stdio.h> #include "i915_reg.h" #include "i915_debug.h" #include "pipe/p_winsys.h" -//#include "i915_fpc.h" -#include "shader/program.h" -#include "shader/prog_instruction.h" -#include "shader/prog_print.h" +#include "pipe/p_util.h" + @@ -126,7 +123,7 @@ static const char *regname[0x8] = { }; static void -print_reg_type_nr(struct debug_stream *stream, GLuint type, GLuint nr) +print_reg_type_nr(struct debug_stream *stream, unsigned type, unsigned nr) { switch (type) { case REG_TYPE_T: @@ -173,7 +170,7 @@ print_reg_type_nr(struct debug_stream *stream, GLuint type, GLuint nr) static void -print_reg_neg_swizzle(struct debug_stream *stream, GLuint reg) +print_reg_neg_swizzle(struct debug_stream *stream, unsigned reg) { int i; @@ -215,20 +212,20 @@ print_reg_neg_swizzle(struct debug_stream *stream, GLuint reg) static void -print_src_reg(struct debug_stream *stream, GLuint dword) +print_src_reg(struct debug_stream *stream, unsigned dword) { - GLuint nr = (dword >> A2_SRC2_NR_SHIFT) & REG_NR_MASK; - GLuint type = (dword >> A2_SRC2_TYPE_SHIFT) & REG_TYPE_MASK; + unsigned nr = (dword >> A2_SRC2_NR_SHIFT) & REG_NR_MASK; + unsigned type = (dword >> A2_SRC2_TYPE_SHIFT) & REG_TYPE_MASK; print_reg_type_nr(stream, type, nr); print_reg_neg_swizzle(stream, dword); } static void -print_dest_reg(struct debug_stream *stream, GLuint dword) +print_dest_reg(struct debug_stream *stream, unsigned dword) { - GLuint nr = (dword >> A0_DEST_NR_SHIFT) & REG_NR_MASK; - GLuint type = (dword >> A0_DEST_TYPE_SHIFT) & REG_TYPE_MASK; + unsigned nr = (dword >> A0_DEST_NR_SHIFT) & REG_NR_MASK; + unsigned type = (dword >> A0_DEST_TYPE_SHIFT) & REG_TYPE_MASK; print_reg_type_nr(stream, type, nr); if ((dword & A0_DEST_CHANNEL_ALL) == A0_DEST_CHANNEL_ALL) return; @@ -251,7 +248,7 @@ print_dest_reg(struct debug_stream *stream, GLuint dword) static void print_arith_op(struct debug_stream *stream, - GLuint opcode, const GLuint * program) + unsigned opcode, const unsigned * program) { if (opcode != A0_NOP) { print_dest_reg(stream, program[0]); @@ -285,7 +282,7 @@ print_arith_op(struct debug_stream *stream, static void print_tex_op(struct debug_stream *stream, - GLuint opcode, const GLuint * program) + unsigned opcode, const unsigned * program) { print_dest_reg(stream, program[0] | A0_DEST_CHANNEL_ALL); PRINTF(" = "); @@ -303,7 +300,7 @@ print_tex_op(struct debug_stream *stream, static void print_dcl_op(struct debug_stream *stream, - GLuint opcode, const GLuint * program) + unsigned opcode, const unsigned * program) { PRINTF("%s ", opcodes[opcode]); print_dest_reg(stream, @@ -314,10 +311,10 @@ print_dcl_op(struct debug_stream *stream, void i915_disassemble_program(struct debug_stream *stream, - const GLuint * program, GLuint sz) + const unsigned * program, unsigned sz) { - GLuint size = program[0] & 0x1ff; - GLint i; + unsigned size = program[0] & 0x1ff; + int i; PRINTF("\t\tBEGIN\n"); @@ -325,11 +322,11 @@ i915_disassemble_program(struct debug_stream *stream, program++; for (i = 1; i < sz; i += 3, program += 3) { - GLuint opcode = program[0] & (0x1f << 24); + unsigned opcode = program[0] & (0x1f << 24); PRINTF("\t\t"); - if ((GLint) opcode >= A0_NOP && opcode <= A0_SLT) + if ((int) opcode >= A0_NOP && opcode <= A0_SLT) print_arith_op(stream, opcode >> 24, program); else if (opcode >= T0_TEXLD && opcode <= T0_TEXKILL) print_tex_op(stream, opcode >> 24, program); diff --git a/src/mesa/pipe/i915simple/i915_prim_emit.c b/src/mesa/pipe/i915simple/i915_prim_emit.c index 5173fc0b38..5a18d03e50 100644 --- a/src/mesa/pipe/i915simple/i915_prim_emit.c +++ b/src/mesa/pipe/i915simple/i915_prim_emit.c @@ -26,10 +26,11 @@ **************************************************************************/ -#include "imports.h" -#include "macros.h" +//#include "imports.h" +//#include "macros.h" #include "pipe/draw/draw_private.h" +#include "pipe/p_util.h" #include "i915_context.h" #include "i915_winsys.h" @@ -59,34 +60,6 @@ static INLINE struct setup_stage *setup_stage( struct draw_stage *stage ) return (struct setup_stage *)stage; } -static INLINE unsigned pack_ub4( unsigned char b0, - unsigned char b1, - unsigned char b2, - unsigned char b3 ) -{ - return ((((unsigned int)b0) << 0) | - (((unsigned int)b1) << 8) | - (((unsigned int)b2) << 16) | - (((unsigned int)b3) << 24)); -} - -static INLINE unsigned fui( float f ) -{ - union { - float f; - unsigned ui; - } fi; - - fi.f = f; - return fi.ui; -} - -static INLINE unsigned char float_to_ubyte( float f ) -{ - unsigned char ub; - UNCLAMPED_FLOAT_TO_UBYTE(ub, f); - return ub; -} /* Hardcoded vertex format: xyz/rgba diff --git a/src/mesa/pipe/i915simple/i915_regions.c b/src/mesa/pipe/i915simple/i915_regions.c index e27443a58c..aad4a6a537 100644 --- a/src/mesa/pipe/i915simple/i915_regions.c +++ b/src/mesa/pipe/i915simple/i915_regions.c @@ -44,7 +44,7 @@ i915_region_idle(struct pipe_context *pipe, struct pipe_region *region) } -static GLubyte * +static ubyte * i915_region_map(struct pipe_context *pipe, struct pipe_region *region) { struct i915_context *i915 = i915_context( pipe ); @@ -73,7 +73,7 @@ i915_region_unmap(struct pipe_context *pipe, struct pipe_region *region) static struct pipe_region * i915_region_alloc(struct pipe_context *pipe, - GLuint cpp, GLuint width, GLuint height, GLbitfield flags) + unsigned cpp, unsigned width, unsigned height, unsigned flags) { struct i915_context *i915 = i915_context( pipe ); struct pipe_region *region = calloc(sizeof(*region), 1); @@ -117,7 +117,7 @@ i915_region_release(struct pipe_context *pipe, struct pipe_region **region) if (!*region) return; - ASSERT((*region)->refcount > 0); + assert((*region)->refcount > 0); (*region)->refcount--; if ((*region)->refcount == 0) { @@ -135,19 +135,19 @@ i915_region_release(struct pipe_context *pipe, struct pipe_region **region) * XXX Move this into core Mesa? */ static void -_mesa_copy_rect(GLubyte * dst, - GLuint cpp, - GLuint dst_pitch, - GLuint dst_x, - GLuint dst_y, - GLuint width, - GLuint height, - const GLubyte * src, - GLuint src_pitch, - GLuint src_x, - GLuint src_y) +_mesa_copy_rect(ubyte * dst, + unsigned cpp, + unsigned dst_pitch, + unsigned dst_x, + unsigned dst_y, + unsigned width, + unsigned height, + const ubyte * src, + unsigned src_pitch, + unsigned src_x, + unsigned src_y) { - GLuint i; + unsigned i; dst_pitch *= cpp; src_pitch *= cpp; @@ -179,10 +179,10 @@ _mesa_copy_rect(GLubyte * dst, static void i915_region_data(struct pipe_context *pipe, struct pipe_region *dst, - GLuint dst_offset, - GLuint dstx, GLuint dsty, - const void *src, GLuint src_pitch, - GLuint srcx, GLuint srcy, GLuint width, GLuint height) + unsigned dst_offset, + unsigned dstx, unsigned dsty, + const void *src, unsigned src_pitch, + unsigned srcx, unsigned srcy, unsigned width, unsigned height) { _mesa_copy_rect(pipe->region_map(pipe, dst) + dst_offset, dst->cpp, @@ -199,11 +199,11 @@ i915_region_data(struct pipe_context *pipe, static void i915_region_copy(struct pipe_context *pipe, struct pipe_region *dst, - GLuint dst_offset, - GLuint dstx, GLuint dsty, + unsigned dst_offset, + unsigned dstx, unsigned dsty, struct pipe_region *src, - GLuint src_offset, - GLuint srcx, GLuint srcy, GLuint width, GLuint height) + unsigned src_offset, + unsigned srcx, unsigned srcy, unsigned width, unsigned height) { assert( dst != src ); assert( dst->cpp == src->cpp ); @@ -233,8 +233,8 @@ i915_region_copy(struct pipe_context *pipe, /* Fill a rectangular sub-region. Need better logic about when to * push buffers into AGP - will currently do so whenever possible. */ -static GLubyte * -get_pointer(struct pipe_region *dst, GLuint x, GLuint y) +static ubyte * +get_pointer(struct pipe_region *dst, unsigned x, unsigned y) { return dst->map + (y * dst->pitch + x) * dst->cpp; } @@ -243,18 +243,18 @@ get_pointer(struct pipe_region *dst, GLuint x, GLuint y) static void i915_region_fill(struct pipe_context *pipe, struct pipe_region *dst, - GLuint dst_offset, - GLuint dstx, GLuint dsty, - GLuint width, GLuint height, GLuint value) + unsigned dst_offset, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height, unsigned value) { if (0) { - GLuint i, j; + unsigned i, j; (void)pipe->region_map(pipe, dst); switch (dst->cpp) { case 1: { - GLubyte *row = get_pointer(dst, dstx, dsty); + ubyte *row = get_pointer(dst, dstx, dsty); for (i = 0; i < height; i++) { memset(row, value, width); row += dst->pitch; @@ -262,7 +262,7 @@ i915_region_fill(struct pipe_context *pipe, } break; case 2: { - GLushort *row = (GLushort *) get_pointer(dst, dstx, dsty); + ushort *row = (ushort *) get_pointer(dst, dstx, dsty); for (i = 0; i < height; i++) { for (j = 0; j < width; j++) row[j] = value; @@ -271,7 +271,7 @@ i915_region_fill(struct pipe_context *pipe, } break; case 4: { - GLuint *row = (GLuint *) get_pointer(dst, dstx, dsty); + unsigned *row = (unsigned *) get_pointer(dst, dstx, dsty); for (i = 0; i < height; i++) { for (j = 0; j < width; j++) row[j] = value; diff --git a/src/mesa/pipe/i915simple/i915_state.c b/src/mesa/pipe/i915simple/i915_state.c index 22a5bf68b4..f874b21016 100644 --- a/src/mesa/pipe/i915simple/i915_state.c +++ b/src/mesa/pipe/i915simple/i915_state.c @@ -27,7 +27,7 @@ /* Authors: Keith Whitwell <keith@tungstengraphics.com> */ -#include "imports.h" +//#include "imports.h" #include "pipe/draw/draw_context.h" @@ -122,7 +122,7 @@ static void i915_set_fs_state( struct pipe_context *pipe, static void i915_set_sampler_state(struct pipe_context *pipe, - GLuint unit, + unsigned unit, const struct pipe_sampler_state *sampler) { struct i915_context *i915 = i915_context(pipe); @@ -135,7 +135,7 @@ static void i915_set_sampler_state(struct pipe_context *pipe, static void i915_set_texture_state(struct pipe_context *pipe, - GLuint unit, + unsigned unit, struct pipe_mipmap_tree *texture) { struct i915_context *i915 = i915_context(pipe); diff --git a/src/mesa/pipe/i915simple/i915_state_derived.c b/src/mesa/pipe/i915simple/i915_state_derived.c index 7d03ed5567..a01b193676 100644 --- a/src/mesa/pipe/i915simple/i915_state_derived.c +++ b/src/mesa/pipe/i915simple/i915_state_derived.c @@ -43,7 +43,7 @@ do { \ } while (0) -static const GLuint frag_to_vf[FRAG_ATTRIB_MAX] = +static const unsigned frag_to_vf[FRAG_ATTRIB_MAX] = { VF_ATTRIB_POS, VF_ATTRIB_COLOR0, @@ -75,12 +75,12 @@ static const GLuint frag_to_vf[FRAG_ATTRIB_MAX] = */ static void calculate_vertex_layout( struct i915_context *i915 ) { -// const GLbitfield inputsRead = i915->fs.inputs_read; - const GLbitfield inputsRead = (FRAG_BIT_WPOS | FRAG_BIT_COL0); - GLuint slot_to_vf_attr[VF_ATTRIB_MAX]; - GLbitfield attr_mask = 0x0; - GLuint nr_attrs = 0; - GLuint i; +// const unsigned inputsRead = i915->fs.inputs_read; + const unsigned inputsRead = (FRAG_BIT_WPOS | FRAG_BIT_COL0); + unsigned slot_to_vf_attr[VF_ATTRIB_MAX]; + unsigned attr_mask = 0x0; + unsigned nr_attrs = 0; + unsigned i; memset(slot_to_vf_attr, 0, sizeof(slot_to_vf_attr)); diff --git a/src/mesa/pipe/i915simple/i915_state_dynamic.c b/src/mesa/pipe/i915simple/i915_state_dynamic.c index 8d5a398890..84bff17b2f 100644 --- a/src/mesa/pipe/i915simple/i915_state_dynamic.c +++ b/src/mesa/pipe/i915simple/i915_state_dynamic.c @@ -25,16 +25,17 @@ * **************************************************************************/ -#include "glheader.h" -#include "context.h" -#include "macros.h" -#include "enums.h" +//#include "glheader.h" +//#include "context.h" +//#include "macros.h" +//#include "enums.h" #include "i915_batch.h" #include "i915_state_inlines.h" #include "i915_context.h" #include "i915_reg.h" #include "i915_state.h" +#include "pipe/p_util.h" #define FILE_DEBUG_FLAG DEBUG_STATE @@ -50,9 +51,9 @@ */ static inline void set_dynamic_indirect( struct i915_context *i915, - GLuint offset, - const GLuint *src, - GLuint dwords ) + unsigned offset, + const unsigned *src, + unsigned dwords ) { int i; @@ -68,12 +69,12 @@ static inline void set_dynamic_indirect( struct i915_context *i915, */ static void upload_MODES4( struct i915_context *i915 ) { - GLuint modes4 = 0; + unsigned modes4 = 0; /* I915_NEW_STENCIL */ { - GLint testmask = i915->stencil.value_mask[0] & 0xff; - GLint writemask = i915->stencil.write_mask[0] & 0xff; + int testmask = i915->stencil.value_mask[0] & 0xff; + int writemask = i915->stencil.write_mask[0] & 0xff; modes4 |= (_3DSTATE_MODES_4_CMD | ENABLE_STENCIL_TEST_MASK | @@ -110,20 +111,20 @@ const struct i915_tracked_state i915_upload_MODES4 = { static void upload_BFO( struct i915_context *i915 ) { - GLuint bf[2]; + unsigned bf[2]; memset( bf, 0, sizeof(bf) ); /* _NEW_STENCIL */ if (i915->stencil.back_enabled) { - GLint test = i915_translate_compare_func(i915->stencil.back_func); - GLint fop = i915_translate_stencil_op(i915->stencil.back_fail_op); - GLint dfop = i915_translate_stencil_op(i915->stencil.back_zfail_op); - GLint dpop = i915_translate_stencil_op(i915->stencil.back_zpass_op); - GLint ref = i915->stencil.ref_value[1] & 0xff; - GLint tmask = i915->stencil.value_mask[1] & 0xff; - GLint wmask = i915->stencil.write_mask[1] & 0xff; + int test = i915_translate_compare_func(i915->stencil.back_func); + int fop = i915_translate_stencil_op(i915->stencil.back_fail_op); + int dfop = i915_translate_stencil_op(i915->stencil.back_zfail_op); + int dpop = i915_translate_stencil_op(i915->stencil.back_zpass_op); + int ref = i915->stencil.ref_value[1] & 0xff; + int tmask = i915->stencil.value_mask[1] & 0xff; + int wmask = i915->stencil.write_mask[1] & 0xff; bf[0] = (_3DSTATE_BACKFACE_STENCIL_OPS | BFO_ENABLE_STENCIL_FUNCS | @@ -172,23 +173,20 @@ const struct i915_tracked_state i915_upload_BFO = { static void upload_BLENDCOLOR( struct i915_context *i915 ) { - GLuint bc[2]; + unsigned bc[2]; memset( bc, 0, sizeof(bc) ); /* I915_NEW_BLEND {_COLOR} */ { - const GLfloat *color = i915->blend_color.color; - GLubyte r, g, b, a; + const float *color = i915->blend_color.color; - UNCLAMPED_FLOAT_TO_UBYTE(r, color[RCOMP]); - UNCLAMPED_FLOAT_TO_UBYTE(g, color[GCOMP]); - UNCLAMPED_FLOAT_TO_UBYTE(b, color[BCOMP]); - UNCLAMPED_FLOAT_TO_UBYTE(a, color[ACOMP]); - - bc[0] = (_3DSTATE_CONST_BLEND_COLOR_CMD); - bc[1] = (a << 24) | (r << 16) | (g << 8) | b; + bc[0] = _3DSTATE_CONST_BLEND_COLOR_CMD; + bc[1] = pack_ui32_float4( color[0], + color[1], + color[2], + color[3] ); } set_dynamic_indirect( i915, @@ -208,25 +206,21 @@ const struct i915_tracked_state i915_upload_BLENDCOLOR = { static void upload_IAB( struct i915_context *i915 ) { - GLuint iab = 0; + unsigned iab = 0; { - GLuint eqRGB = i915->blend.rgb_func; - GLuint srcRGB = i915->blend.rgb_src_factor; - GLuint dstRGB = i915->blend.rgb_dst_factor; + unsigned eqRGB = i915->blend.rgb_func; + unsigned srcRGB = i915->blend.rgb_src_factor; + unsigned dstRGB = i915->blend.rgb_dst_factor; - GLuint eqA = i915->blend.alpha_func; - GLuint srcA = i915->blend.alpha_src_factor; - GLuint dstA = i915->blend.alpha_dst_factor; + unsigned eqA = i915->blend.alpha_func; + unsigned srcA = i915->blend.alpha_src_factor; + unsigned dstA = i915->blend.alpha_dst_factor; - if (eqA == GL_MIN || eqA == GL_MAX) { - srcA = dstA = GL_ONE; - } + /* Special handling for MIN/MAX filter modes handled at + * state_tracker level. + */ - if (eqRGB == GL_MIN || eqRGB == GL_MAX) { - srcRGB = dstRGB = GL_ONE; - } - if (srcA != srcRGB || dstA != dstRGB || eqA != eqRGB) { @@ -268,7 +262,7 @@ const struct i915_tracked_state i915_upload_IAB = { static void upload_DEPTHSCALE( struct i915_context *i915 ) { - union { GLfloat f; GLuint u; } ds[2]; + union { float f; unsigned u; } ds[2]; memset( ds, 0, sizeof(ds) ); @@ -304,7 +298,7 @@ const struct i915_tracked_state i915_upload_DEPTHSCALE = { static void upload_STIPPLE( struct i915_context *i915 ) { - GLuint st[2]; + unsigned st[2]; st[0] = _3DSTATE_STIPPLE; st[1] = 0; @@ -319,8 +313,8 @@ static void upload_STIPPLE( struct i915_context *i915 ) /* I915_NEW_STIPPLE */ { - const GLubyte *mask = (const GLubyte *)i915->poly_stipple.stipple; - GLubyte p[4]; + const ubyte *mask = (const ubyte *)i915->poly_stipple.stipple; + ubyte p[4]; p[0] = mask[12] & 0xf; p[1] = mask[8] & 0xf; diff --git a/src/mesa/pipe/i915simple/i915_state_emit.c b/src/mesa/pipe/i915simple/i915_state_emit.c index 2ce079fbaa..a7ae92d93c 100644 --- a/src/mesa/pipe/i915simple/i915_state_emit.c +++ b/src/mesa/pipe/i915simple/i915_state_emit.c @@ -27,8 +27,8 @@ -#include "glheader.h" -#include "mtypes.h" +//#include "glheader.h" +//#include "mtypes.h" #include "i915_reg.h" #include "i915_context.h" @@ -204,8 +204,8 @@ i915_emit_hardware_state(struct i915_context *i915 ) { - GLuint i, dwords; - GLuint *prog = i915_passthrough_program( &dwords ); + unsigned i, dwords; + unsigned *prog = i915_passthrough_program( &dwords ); for (i = 0; i < dwords; i++) OUT_BATCH( prog[i] ); diff --git a/src/mesa/pipe/i915simple/i915_state_fragprog.c b/src/mesa/pipe/i915simple/i915_state_fragprog.c index 163883b07a..51df86e0b1 100644 --- a/src/mesa/pipe/i915simple/i915_state_fragprog.c +++ b/src/mesa/pipe/i915simple/i915_state_fragprog.c @@ -28,7 +28,7 @@ #include "i915_reg.h" #include "i915_context.h" #include "i915_debug.h" - +#include "pipe/p_util.h" static unsigned passthrough[] = { diff --git a/src/mesa/pipe/i915simple/i915_state_immediate.c b/src/mesa/pipe/i915simple/i915_state_immediate.c index 2f64d9dd90..d06fac2e4c 100644 --- a/src/mesa/pipe/i915simple/i915_state_immediate.c +++ b/src/mesa/pipe/i915simple/i915_state_immediate.c @@ -29,12 +29,13 @@ * Keith Whitwell <keith@tungstengraphics.com> */ -#include "macros.h" +//#include "macros.h" #include "i915_state_inlines.h" #include "i915_context.h" #include "i915_state.h" #include "i915_reg.h" +#include "p_util.h" /* All state expressable with the LOAD_STATE_IMMEDIATE_1 packet. @@ -51,7 +52,7 @@ */ static void upload_S2S4(struct i915_context *i915) { - GLuint LIS2, LIS4; + unsigned LIS2, LIS4; /* I915_NEW_VERTEX_FORMAT */ LIS2 = 0xffffffff; @@ -86,7 +87,7 @@ static void upload_S2S4(struct i915_context *i915) /* I915_NEW_SETUP */ { - GLint point_size = CLAMP((int) i915->setup.point_size, 1, 0xff); + int point_size = CLAMP((int) i915->setup.point_size, 1, 0xff); LIS4 |= point_size << S4_POINT_WIDTH_SHIFT; } @@ -121,15 +122,15 @@ const struct i915_tracked_state i915_upload_S2S4 = { */ static void upload_S5( struct i915_context *i915 ) { - GLuint LIS5 = 0; + unsigned LIS5 = 0; /* I915_NEW_STENCIL */ if (i915->stencil.front_enabled) { - GLint test = i915_translate_compare_func(i915->stencil.front_func); - GLint fop = i915_translate_stencil_op(i915->stencil.front_fail_op); - GLint dfop = i915_translate_stencil_op(i915->stencil.front_zfail_op); - GLint dpop = i915_translate_stencil_op(i915->stencil.front_zpass_op); - GLint ref = i915->stencil.ref_value[0] & 0xff; + int test = i915_translate_compare_func(i915->stencil.front_func); + int fop = i915_translate_stencil_op(i915->stencil.front_fail_op); + int dfop = i915_translate_stencil_op(i915->stencil.front_zfail_op); + int dpop = i915_translate_stencil_op(i915->stencil.front_zpass_op); + int ref = i915->stencil.ref_value[0] & 0xff; LIS5 |= (S5_STENCIL_TEST_ENABLE | S5_STENCIL_WRITE_ENABLE | @@ -184,16 +185,14 @@ const struct i915_tracked_state i915_upload_S5 = { */ static void upload_S6( struct i915_context *i915 ) { - GLuint LIS6 = (S6_COLOR_WRITE_ENABLE | + unsigned LIS6 = (S6_COLOR_WRITE_ENABLE | (2 << S6_TRISTRIP_PV_SHIFT)); /* I915_NEW_ALPHA_TEST */ if (i915->alpha_test.enabled) { int test = i915_translate_compare_func(i915->alpha_test.func); - GLubyte refByte; - - CLAMPED_FLOAT_TO_UBYTE(refByte, i915->alpha_test.ref); + ubyte refByte = float_to_ubyte(i915->alpha_test.ref); LIS6 |= (S6_ALPHA_TEST_ENABLE | @@ -205,9 +204,9 @@ static void upload_S6( struct i915_context *i915 ) */ if (i915->blend.blend_enable) { - GLuint funcRGB = i915->blend.rgb_func; - GLuint srcRGB = i915->blend.rgb_src_factor; - GLuint dstRGB = i915->blend.rgb_dst_factor; + unsigned funcRGB = i915->blend.rgb_func; + unsigned srcRGB = i915->blend.rgb_src_factor; + unsigned dstRGB = i915->blend.rgb_dst_factor; LIS6 |= (S6_CBUF_BLEND_ENABLE | SRC_BLND_FACT(i915_translate_blend_factor(srcRGB)) | @@ -218,7 +217,7 @@ static void upload_S6( struct i915_context *i915 ) /* I915_NEW_DEPTH */ if (i915->depth_test.enabled) { - GLint func = i915_translate_compare_func(i915->depth_test.func); + int func = i915_translate_compare_func(i915->depth_test.func); LIS6 |= (S6_DEPTH_TEST_ENABLE | (func << S6_DEPTH_TEST_FUNC_SHIFT)); @@ -243,7 +242,7 @@ const struct i915_tracked_state i915_upload_S6 = { */ static void upload_S7( struct i915_context *i915 ) { - GLfloat LIS7; + float LIS7; /* I915_NEW_SETUP */ diff --git a/src/mesa/pipe/i915simple/i915_state_inlines.h b/src/mesa/pipe/i915simple/i915_state_inlines.h index 28aff0ebd4..0934ac79a4 100644 --- a/src/mesa/pipe/i915simple/i915_state_inlines.h +++ b/src/mesa/pipe/i915simple/i915_state_inlines.h @@ -28,6 +28,7 @@ #ifndef I915_STATE_INLINES_H #define I915_STATE_INLINES_H +#include "p_compiler.h" #include "p_defines.h" #include "i915_reg.h" @@ -184,9 +185,9 @@ i915_translate_logic_op(unsigned opcode) -static INLINE GLboolean i915_validate_vertices( GLuint hw_prim, GLuint nr ) +static INLINE boolean i915_validate_vertices( unsigned hw_prim, unsigned nr ) { - GLboolean ok; + boolean ok; switch (hw_prim) { case PRIM3D_POINTLIST: @@ -226,5 +227,4 @@ static INLINE GLboolean i915_validate_vertices( GLuint hw_prim, GLuint nr ) return ok; } - #endif diff --git a/src/mesa/pipe/i915simple/i915_surface.c b/src/mesa/pipe/i915simple/i915_surface.c index cc0a87012a..c094cf9ec4 100644 --- a/src/mesa/pipe/i915simple/i915_surface.c +++ b/src/mesa/pipe/i915simple/i915_surface.c @@ -28,8 +28,8 @@ #include "i915_context.h" #include "i915_state.h" #include "pipe/p_defines.h" -#include "main/imports.h" -#include "main/macros.h" +#include "pipe/p_util.h" +//#include "main/imports.h" struct i915_surface @@ -45,13 +45,13 @@ struct i915_surface */ static void i915_get_tile(struct pipe_surface *ps, - GLuint x, GLuint y, GLuint w, GLuint h, GLfloat *p) + unsigned x, unsigned y, unsigned w, unsigned h, float *p) { - const GLuint *src - = ((const GLuint *) (ps->region->map + ps->offset)) + const unsigned *src + = ((const unsigned *) (ps->region->map + ps->offset)) + y * ps->region->pitch + x; - GLuint i, j; - GLuint w0 = w; + unsigned i, j; + unsigned w0 = w; assert(ps->format == PIPE_FORMAT_U_A8_R8_G8_B8); @@ -66,9 +66,9 @@ i915_get_tile(struct pipe_surface *ps, h = ps->height -y; #endif for (i = 0; i < h; i++) { - GLfloat *pRow = p; + float *pRow = p; for (j = 0; j < w; j++) { - const GLuint pixel = src[j]; + const unsigned pixel = src[j]; pRow[0] = UBYTE_TO_FLOAT((pixel >> 16) & 0xff); pRow[1] = UBYTE_TO_FLOAT((pixel >> 8) & 0xff); pRow[2] = UBYTE_TO_FLOAT((pixel >> 0) & 0xff); @@ -83,7 +83,7 @@ i915_get_tile(struct pipe_surface *ps, static void i915_put_tile(struct pipe_surface *ps, - GLuint x, GLuint y, GLuint w, GLuint h, const GLfloat *p) + unsigned x, unsigned y, unsigned w, unsigned h, const float *p) { /* any need to put tiles into i915 surfaces? */ assert(0); @@ -92,7 +92,7 @@ i915_put_tile(struct pipe_surface *ps, static struct pipe_surface * -i915_surface_alloc(struct pipe_context *pipe, GLuint format) +i915_surface_alloc(struct pipe_context *pipe, unsigned format) { struct i915_surface *surf = CALLOC_STRUCT(i915_surface); diff --git a/src/mesa/pipe/i915simple/i915_tex_layout.c b/src/mesa/pipe/i915simple/i915_tex_layout.c index d0c58de691..ec1fb9532d 100644 --- a/src/mesa/pipe/i915simple/i915_tex_layout.c +++ b/src/mesa/pipe/i915simple/i915_tex_layout.c @@ -30,13 +30,17 @@ * Michel Dänzer <michel@tungstengraphics.com> */ -#include "macros.h" +//#include "macros.h" #include "pipe/p_state.h" #include "pipe/p_context.h" +#include "pipe/p_defines.h" +#include "pipe/p_util.h" + #include "i915_tex_layout.h" +#include "i915_debug.h" -static GLuint minify( GLuint d ) +static unsigned minify( unsigned d ) { return MAX2(1, d>>1); } @@ -49,11 +53,11 @@ static int align(int value, int alignment) static void i915_miptree_set_level_info(struct pipe_mipmap_tree *mt, - GLuint level, - GLuint nr_images, - GLuint x, GLuint y, GLuint w, GLuint h, GLuint d) + unsigned level, + unsigned nr_images, + unsigned x, unsigned y, unsigned w, unsigned h, unsigned d) { - assert(level < MAX_TEXTURE_LEVELS); + assert(level < PIPE_MAX_TEXTURE_LEVELS); mt->level[level].width = w; mt->level[level].height = h; @@ -76,14 +80,14 @@ i915_miptree_set_level_info(struct pipe_mipmap_tree *mt, assert(nr_images); assert(!mt->level[level].image_offset); - mt->level[level].image_offset = (GLuint *) malloc(nr_images * sizeof(GLuint)); + mt->level[level].image_offset = (unsigned *) malloc(nr_images * sizeof(unsigned)); mt->level[level].image_offset[0] = 0; } static void i915_miptree_set_image_offset(struct pipe_mipmap_tree *mt, - GLuint level, GLuint img, GLuint x, GLuint y) + unsigned level, unsigned img, unsigned x, unsigned y) { if (img == 0 && level == 0) assert(x == 0 && y == 0); @@ -102,12 +106,12 @@ i915_miptree_set_image_offset(struct pipe_mipmap_tree *mt, static void i945_miptree_layout_2d( struct pipe_mipmap_tree *mt ) { - GLint align_h = 2, align_w = 4; - GLuint level; - GLuint x = 0; - GLuint y = 0; - GLuint width = mt->width0; - GLuint height = mt->height0; + int align_h = 2, align_w = 4; + unsigned level; + unsigned x = 0; + unsigned y = 0; + unsigned width = mt->width0; + unsigned height = mt->height0; mt->pitch = mt->width0; @@ -117,7 +121,7 @@ i945_miptree_layout_2d( struct pipe_mipmap_tree *mt ) * 2nd mipmap out past the width of its parent. */ if (mt->first_level != mt->last_level) { - GLuint mip1_width = align(minify(mt->width0), align_w) + unsigned mip1_width = align(minify(mt->width0), align_w) + minify(minify(mt->width0)); if (mip1_width > mt->width0) @@ -131,7 +135,7 @@ i945_miptree_layout_2d( struct pipe_mipmap_tree *mt ) mt->total_height = 0; for ( level = mt->first_level ; level <= mt->last_level ; level++ ) { - GLuint img_height; + unsigned img_height; i915_miptree_set_level_info(mt, level, 1, x, y, width, height, 1); @@ -161,7 +165,7 @@ i945_miptree_layout_2d( struct pipe_mipmap_tree *mt ) } -static const GLint initial_offsets[6][2] = { +static const int initial_offsets[6][2] = { {0, 0}, {0, 2}, {1, 0}, @@ -170,7 +174,7 @@ static const GLint initial_offsets[6][2] = { {1, 3} }; -static const GLint step_offsets[6][2] = { +static const int step_offsets[6][2] = { {0, 2}, {0, 2}, {-1, 2}, @@ -180,16 +184,16 @@ static const GLint step_offsets[6][2] = { }; -GLboolean +boolean i915_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) { - GLint level; + int level; switch (mt->target) { - case GL_TEXTURE_CUBE_MAP:{ - const GLuint dim = mt->width0; - GLuint face; - GLuint lvlWidth = mt->width0, lvlHeight = mt->height0; + case PIPE_TEXTURE_CUBE: { + const unsigned dim = mt->width0; + unsigned face; + unsigned lvlWidth = mt->width0, lvlHeight = mt->height0; assert(lvlWidth == lvlHeight); /* cubemap images are square */ @@ -208,17 +212,12 @@ i915_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) } for (face = 0; face < 6; face++) { - GLuint x = initial_offsets[face][0] * dim; - GLuint y = initial_offsets[face][1] * dim; - GLuint d = dim; + unsigned x = initial_offsets[face][0] * dim; + unsigned y = initial_offsets[face][1] * dim; + unsigned d = dim; for (level = mt->first_level; level <= mt->last_level; level++) { i915_miptree_set_image_offset(mt, level, face, x, y); - - if (d == 0) - _mesa_printf("cube mipmap %d/%d (%d..%d) is 0x0\n", - face, level, mt->first_level, mt->last_level); - d >>= 1; x += step_offsets[face][0] * d; y += step_offsets[face][1] * d; @@ -226,11 +225,11 @@ i915_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) } break; } - case GL_TEXTURE_3D:{ - GLuint width = mt->width0; - GLuint height = mt->height0; - GLuint depth = mt->depth0; - GLuint stack_height = 0; + case PIPE_TEXTURE_3D:{ + unsigned width = mt->width0; + unsigned height = mt->height0; + unsigned depth = mt->depth0; + unsigned stack_height = 0; /* Calculate the size of a single slice. */ @@ -255,7 +254,7 @@ i915_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) */ depth = mt->depth0; for (level = mt->first_level; level <= mt->last_level; level++) { - GLuint i; + unsigned i; for (i = 0; i < depth; i++) i915_miptree_set_image_offset(mt, level, i, 0, i * stack_height); @@ -273,9 +272,9 @@ i915_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) } default:{ - GLuint width = mt->width0; - GLuint height = mt->height0; - GLuint img_height; + unsigned width = mt->width0; + unsigned height = mt->height0; + unsigned img_height; mt->pitch = ((mt->width0 * mt->cpp + 3) & ~3) / mt->cpp; mt->total_height = 0; @@ -304,20 +303,20 @@ i915_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) mt->total_height, mt->cpp, mt->pitch * mt->total_height * mt->cpp); */ - return GL_TRUE; + return TRUE; } -GLboolean +boolean i945_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) { - GLint level; + int level; switch (mt->target) { - case GL_TEXTURE_CUBE_MAP:{ - const GLuint dim = mt->width0; - GLuint face; - GLuint lvlWidth = mt->width0, lvlHeight = mt->height0; + case PIPE_TEXTURE_CUBE:{ + const unsigned dim = mt->width0; + unsigned face; + unsigned lvlWidth = mt->width0, lvlHeight = mt->height0; assert(lvlWidth == lvlHeight); /* cubemap images are square */ @@ -344,9 +343,9 @@ i945_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) for (face = 0; face < 6; face++) { - GLuint x = initial_offsets[face][0] * dim; - GLuint y = initial_offsets[face][1] * dim; - GLuint d = dim; + unsigned x = initial_offsets[face][0] * dim; + unsigned y = initial_offsets[face][1] * dim; + unsigned d = dim; if (dim == 4 && face >= 4) { y = mt->total_height - 4; @@ -365,18 +364,18 @@ i945_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) switch (d) { case 4: switch (face) { - case FACE_POS_X: - case FACE_NEG_X: + case PIPE_TEX_FACE_POS_X: + case PIPE_TEX_FACE_NEG_X: x += step_offsets[face][0] * d; y += step_offsets[face][1] * d; break; - case FACE_POS_Y: - case FACE_NEG_Y: + case PIPE_TEX_FACE_POS_Y: + case PIPE_TEX_FACE_NEG_Y: y += 12; x -= 8; break; - case FACE_POS_Z: - case FACE_NEG_Z: + case PIPE_TEX_FACE_POS_Z: + case PIPE_TEX_FACE_NEG_Z: y = mt->total_height - 4; x = (face - 4) * 8; break; @@ -400,13 +399,13 @@ i945_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) } break; } - case GL_TEXTURE_3D:{ - GLuint width = mt->width0; - GLuint height = mt->height0; - GLuint depth = mt->depth0; - GLuint pack_x_pitch, pack_x_nr; - GLuint pack_y_pitch; - GLuint level; + case PIPE_TEXTURE_3D:{ + unsigned width = mt->width0; + unsigned height = mt->height0; + unsigned depth = mt->depth0; + unsigned pack_x_pitch, pack_x_nr; + unsigned pack_y_pitch; + unsigned level; mt->pitch = ((mt->width0 * mt->cpp + 3) & ~3) / mt->cpp; mt->total_height = 0; @@ -416,10 +415,10 @@ i945_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) pack_x_nr = 1; for (level = mt->first_level; level <= mt->last_level; level++) { - GLuint nr_images = mt->target == GL_TEXTURE_3D ? depth : 6; - GLint x = 0; - GLint y = 0; - GLint q, j; + unsigned nr_images = mt->target == PIPE_TEXTURE_3D ? depth : 6; + int x = 0; + int y = 0; + int q, j; i915_miptree_set_level_info(mt, level, nr_images, 0, mt->total_height, @@ -455,13 +454,14 @@ i945_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) break; } - case GL_TEXTURE_1D: - case GL_TEXTURE_2D: - case GL_TEXTURE_RECTANGLE_ARB: + case PIPE_TEXTURE_1D: + case PIPE_TEXTURE_2D: +// case PIPE_TEXTURE_RECTANGLE: i945_miptree_layout_2d(mt); break; default: - _mesa_problem(NULL, "Unexpected tex target in i945_miptree_layout()"); + assert(0); + return FALSE; } /* @@ -470,6 +470,6 @@ i945_miptree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * mt) mt->total_height, mt->cpp, mt->pitch * mt->total_height * mt->cpp); */ - return GL_TRUE; + return TRUE; } diff --git a/src/mesa/pipe/i915simple/i915_tex_layout.h b/src/mesa/pipe/i915simple/i915_tex_layout.h index b1555f1dd8..e033786381 100644 --- a/src/mesa/pipe/i915simple/i915_tex_layout.h +++ b/src/mesa/pipe/i915simple/i915_tex_layout.h @@ -6,10 +6,10 @@ struct pipe_context; struct pipe_mipmap_tree; -extern GLboolean +extern boolean i915_miptree_layout(struct pipe_context *, struct pipe_mipmap_tree *); -extern GLboolean +extern boolean i945_miptree_layout(struct pipe_context *, struct pipe_mipmap_tree *); diff --git a/src/mesa/pipe/i915simple/i915_winsys.h b/src/mesa/pipe/i915simple/i915_winsys.h index 803ee9073c..10a8283035 100644 --- a/src/mesa/pipe/i915simple/i915_winsys.h +++ b/src/mesa/pipe/i915simple/i915_winsys.h @@ -28,7 +28,7 @@ #ifndef I915_WINSYS_H #define I915_WINSYS_H -#include "main/mtypes.h" +//#include "main/mtypes.h" /* This is the interface that softpipe requires any window system * hosting it to implement. This is the only include file in softpipe diff --git a/src/mesa/pipe/p_context.h b/src/mesa/pipe/p_context.h index 84557b9a4a..7635755947 100644 --- a/src/mesa/pipe/p_context.h +++ b/src/mesa/pipe/p_context.h @@ -28,8 +28,9 @@ #ifndef PIPE_CONTEXT_H #define PIPE_CONTEXT_H -#include "main/mtypes.h" +//#include "main/mtypes.h" #include "p_state.h" +#include "p_compiler.h" /* Drawing currently kludged up via the existing tnl/ module. @@ -49,14 +50,14 @@ struct pipe_context { /* * Queries */ - const GLuint *(*supported_formats)(struct pipe_context *pipe, - GLuint *numFormats); + const unsigned *(*supported_formats)(struct pipe_context *pipe, + unsigned *numFormats); void (*max_texture_size)(struct pipe_context *pipe, - GLuint textureType, /* PIPE_TEXTURE_x */ - GLuint *maxWidth, - GLuint *maxHeight, - GLuint *maxDepth); + unsigned textureType, /* PIPE_TEXTURE_x */ + unsigned *maxWidth, + unsigned *maxHeight, + unsigned *maxDepth); const char *(*get_name)( struct pipe_context *pipe ); @@ -71,19 +72,19 @@ struct pipe_context { struct vertex_buffer *VB ); void (*draw_vertices)( struct pipe_context *pipe, - GLuint mode, - GLuint numVertex, const GLfloat *verts, - GLuint numAttribs, const GLuint attribs[]); + unsigned mode, + unsigned numVertex, const float *verts, + unsigned numAttribs, const unsigned attribs[]); /** Clear a surface to given value (no scissor; clear whole surface) */ void (*clear)(struct pipe_context *pipe, struct pipe_surface *ps, - GLuint clearValue); + unsigned clearValue); /** occlusion counting (XXX this may be temporary - we should probably * have generic query objects with begin/end methods) */ void (*reset_occlusion_counter)(struct pipe_context *pipe); - GLuint (*get_occlusion_counter)(struct pipe_context *pipe); + unsigned (*get_occlusion_counter)(struct pipe_context *pipe); /* * State functions @@ -125,11 +126,11 @@ struct pipe_context { const struct pipe_stencil_state * ); void (*set_sampler_state)( struct pipe_context *, - GLuint unit, + unsigned unit, const struct pipe_sampler_state * ); void (*set_texture_state)( struct pipe_context *, - GLuint unit, + unsigned unit, struct pipe_mipmap_tree * ); void (*set_viewport_state)( struct pipe_context *, @@ -141,58 +142,58 @@ struct pipe_context { * This might go away... */ struct pipe_surface *(*surface_alloc)(struct pipe_context *pipe, - GLuint format); + unsigned format); struct pipe_surface *(*get_tex_surface)(struct pipe_context *pipe, struct pipe_mipmap_tree *texture, - GLuint face, GLuint level, - GLuint zslice); + unsigned face, unsigned level, + unsigned zslice); /* * Memory region functions * Some of these may go away... */ struct pipe_region *(*region_alloc)(struct pipe_context *pipe, - GLuint cpp, GLuint width, GLuint height, - GLbitfield flags); + unsigned cpp, unsigned width, unsigned height, + unsigned flags); void (*region_release)(struct pipe_context *pipe, struct pipe_region **r); void (*region_idle)(struct pipe_context *pipe, struct pipe_region *region); - GLubyte *(*region_map)(struct pipe_context *pipe, struct pipe_region *r); + ubyte *(*region_map)(struct pipe_context *pipe, struct pipe_region *r); void (*region_unmap)(struct pipe_context *pipe, struct pipe_region *r); void (*region_data)(struct pipe_context *pipe, struct pipe_region *dest, - GLuint dest_offset, - GLuint destx, GLuint desty, - const void *src, GLuint src_stride, - GLuint srcx, GLuint srcy, GLuint width, GLuint height); + unsigned dest_offset, + unsigned destx, unsigned desty, + const void *src, unsigned src_stride, + unsigned srcx, unsigned srcy, unsigned width, unsigned height); void (*region_copy)(struct pipe_context *pipe, struct pipe_region *dest, - GLuint dest_offset, - GLuint destx, GLuint desty, + unsigned dest_offset, + unsigned destx, unsigned desty, struct pipe_region *src, /* don't make this const - need to map/unmap */ - GLuint src_offset, - GLuint srcx, GLuint srcy, GLuint width, GLuint height); + unsigned src_offset, + unsigned srcx, unsigned srcy, unsigned width, unsigned height); void (*region_fill)(struct pipe_context *pipe, struct pipe_region *dst, - GLuint dst_offset, - GLuint dstx, GLuint dsty, - GLuint width, GLuint height, - GLuint value); + unsigned dst_offset, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height, + unsigned value); /* * Texture functions */ - GLboolean (*mipmap_tree_layout)( struct pipe_context *pipe, - struct pipe_mipmap_tree *mt ); + boolean (*mipmap_tree_layout)( struct pipe_context *pipe, + struct pipe_mipmap_tree *mt ); /* Flush rendering: diff --git a/src/mesa/pipe/p_defines.h b/src/mesa/pipe/p_defines.h index 52ecd5b119..e6aff6fb49 100644 --- a/src/mesa/pipe/p_defines.h +++ b/src/mesa/pipe/p_defines.h @@ -150,6 +150,14 @@ #define PIPE_TEX_COMPARE_NONE 0 #define PIPE_TEX_COMPARE_R_TO_TEXTURE 1 +#define PIPE_TEX_FACE_POS_X 0 +#define PIPE_TEX_FACE_NEG_X 1 +#define PIPE_TEX_FACE_POS_Y 2 +#define PIPE_TEX_FACE_NEG_Y 3 +#define PIPE_TEX_FACE_POS_Z 4 +#define PIPE_TEX_FACE_NEG_Z 5 +#define PIPE_TEX_FACE_MAX 6 + /** * Texture/surface image formats (preliminary) @@ -200,4 +208,6 @@ #define PIPE_FLUSH_RENDER_CACHE 0x1 #define PIPE_FLUSH_TEXTURE_CACHE 0x2 + + #endif diff --git a/src/mesa/pipe/p_state.h b/src/mesa/pipe/p_state.h index 6799fdb31c..dc2b589e55 100644 --- a/src/mesa/pipe/p_state.h +++ b/src/mesa/pipe/p_state.h @@ -38,9 +38,7 @@ #ifndef PIPE_STATE_H #define PIPE_STATE_H -#include "mtypes.h" - - +#include "p_compiler.h" /** * Implementation limits @@ -50,6 +48,7 @@ #define PIPE_MAX_CONSTANT 32 #define PIPE_ATTRIB_MAX 32 #define PIPE_MAX_COLOR_BUFS 8 +#define PIPE_MAX_TEXTURE_LEVELS 16 /* fwd decl */ @@ -69,138 +68,129 @@ struct pipe_buffer_handle; */ struct pipe_setup_state { - GLuint flatshade:1; - GLuint light_twoside:1; - - GLuint front_winding:2; /**< PIPE_WINDING_x */ - - GLuint cull_mode:2; /**< PIPE_WINDING_x */ - - GLuint fill_cw:2; /**< PIPE_POLYGON_MODE_x */ - GLuint fill_ccw:2; /**< PIPE_POLYGON_MODE_x */ - - GLuint offset_cw:1; - GLuint offset_ccw:1; - - GLuint scissor:1; - - GLuint poly_smooth:1; - GLuint poly_stipple_enable:1; - - GLuint line_smooth:1; - GLuint line_stipple_enable:1; - - GLuint point_smooth:1; - - GLuint multisample:1; /* XXX maybe more ms state in future */ - - GLubyte line_stipple_factor; /**< [1..256] actually */ - GLushort line_stipple_pattern; - GLfloat line_width; - GLfloat point_size; /**< used when no per-vertex size */ - GLfloat offset_units; - GLfloat offset_scale; + unsigned flatshade:1; + unsigned light_twoside:1; + unsigned front_winding:2; /**< PIPE_WINDING_x */ + unsigned cull_mode:2; /**< PIPE_WINDING_x */ + unsigned fill_cw:2; /**< PIPE_POLYGON_MODE_x */ + unsigned fill_ccw:2; /**< PIPE_POLYGON_MODE_x */ + unsigned offset_cw:1; + unsigned offset_ccw:1; + unsigned scissor:1; + unsigned poly_smooth:1; + unsigned poly_stipple_enable:1; + unsigned point_smooth:1; + unsigned multisample:1; /* XXX maybe more ms state in future */ + unsigned line_smooth:1; + unsigned line_stipple_enable:1; + unsigned line_stipple_factor:8; /**< [1..256] actually */ + unsigned line_stipple_pattern:16; + + float line_width; + float point_size; /**< used when no per-vertex size */ + float offset_units; + float offset_scale; }; struct pipe_poly_stipple { - GLuint stipple[32]; + unsigned stipple[32]; }; struct pipe_viewport_state { - GLfloat scale[4]; - GLfloat translate[4]; + float scale[4]; + float translate[4]; }; struct pipe_scissor_state { - GLshort minx; - GLshort miny; - GLshort maxx; - GLshort maxy; + unsigned minx:16; + unsigned miny:16; + unsigned maxx:16; + unsigned maxy:16; }; struct pipe_clip_state { - GLfloat ucp[PIPE_MAX_CLIP_PLANES][4]; - GLuint nr; + float ucp[PIPE_MAX_CLIP_PLANES][4]; + unsigned nr; }; struct pipe_constant_buffer { - GLfloat constant[PIPE_MAX_CONSTANT][4]; - GLuint nr_constants; + float constant[PIPE_MAX_CONSTANT][4]; + unsigned nr_constants; }; struct pipe_fs_state { - GLbitfield inputs_read; /* FRAG_ATTRIB_* */ + unsigned inputs_read; /* FRAG_ATTRIB_* */ const struct tgsi_token *tokens; struct pipe_constant_buffer *constants; /* XXX temporary? */ }; struct pipe_depth_state { - GLuint enabled:1; /**< depth test enabled? */ - GLuint writemask:1; /**< allow depth buffer writes? */ - GLuint func:3; /**< depth test func (PIPE_FUNC_x) */ - GLuint occlusion_count:1; /**< XXX move this elsewhere? */ - GLfloat clear; /**< Clear value in [0,1] (XXX correct place?) */ + unsigned enabled:1; /**< depth test enabled? */ + unsigned writemask:1; /**< allow depth buffer writes? */ + unsigned func:3; /**< depth test func (PIPE_FUNC_x) */ + unsigned occlusion_count:1; /**< XXX move this elsewhere? */ + float clear; /**< Clear value in [0,1] (XXX correct place?) */ }; struct pipe_alpha_test_state { - GLuint enabled:1; - GLuint func:3; /**< PIPE_FUNC_x */ - GLfloat ref; /**< reference value */ + unsigned enabled:1; + unsigned func:3; /**< PIPE_FUNC_x */ + float ref; /**< reference value */ }; struct pipe_blend_state { - GLuint blend_enable:1; + unsigned blend_enable:1; - GLuint rgb_func:3; /**< PIPE_BLEND_x */ - GLuint rgb_src_factor:5; /**< PIPE_BLENDFACTOR_x */ - GLuint rgb_dst_factor:5; /**< PIPE_BLENDFACTOR_x */ + unsigned rgb_func:3; /**< PIPE_BLEND_x */ + unsigned rgb_src_factor:5; /**< PIPE_BLENDFACTOR_x */ + unsigned rgb_dst_factor:5; /**< PIPE_BLENDFACTOR_x */ - GLuint alpha_func:3; /**< PIPE_BLEND_x */ - GLuint alpha_src_factor:5; /**< PIPE_BLENDFACTOR_x */ - GLuint alpha_dst_factor:5; /**< PIPE_BLENDFACTOR_x */ + unsigned alpha_func:3; /**< PIPE_BLEND_x */ + unsigned alpha_src_factor:5; /**< PIPE_BLENDFACTOR_x */ + unsigned alpha_dst_factor:5; /**< PIPE_BLENDFACTOR_x */ - GLuint logicop_enable:1; - GLuint logicop_func:4; /**< PIPE_LOGICOP_x */ + unsigned logicop_enable:1; + unsigned logicop_func:4; /**< PIPE_LOGICOP_x */ - GLuint colormask:4; /**< bitmask of PIPE_MASK_R/G/B/A */ - GLuint dither:1; + unsigned colormask:4; /**< bitmask of PIPE_MASK_R/G/B/A */ + unsigned dither:1; }; struct pipe_blend_color { - GLfloat color[4]; + float color[4]; }; struct pipe_clear_color_state { - GLfloat color[4]; + float color[4]; }; struct pipe_stencil_state { - GLuint front_enabled:1; - GLuint front_func:3; /**< PIPE_FUNC_x */ - GLuint front_fail_op:3; /**< PIPE_STENCIL_OP_x */ - GLuint front_zpass_op:3; /**< PIPE_STENCIL_OP_x */ - GLuint front_zfail_op:3; /**< PIPE_STENCIL_OP_x */ - GLuint back_enabled:1; - GLuint back_func:3; /**< PIPE_FUNC_x */ - GLuint back_fail_op:3; /**< PIPE_STENCIL_OP_x */ - GLuint back_zpass_op:3; /**< PIPE_STENCIL_OP_x */ - GLuint back_zfail_op:3; /**< PIPE_STENCIL_OP_x */ - GLubyte ref_value[2]; /**< [0] = front, [1] = back */ - GLubyte value_mask[2]; - GLubyte write_mask[2]; - GLubyte clear_value; + unsigned front_enabled:1; + unsigned front_func:3; /**< PIPE_FUNC_x */ + unsigned front_fail_op:3; /**< PIPE_STENCIL_OP_x */ + unsigned front_zpass_op:3; /**< PIPE_STENCIL_OP_x */ + unsigned front_zfail_op:3; /**< PIPE_STENCIL_OP_x */ + unsigned back_enabled:1; + unsigned back_func:3; /**< PIPE_FUNC_x */ + unsigned back_fail_op:3; /**< PIPE_STENCIL_OP_x */ + unsigned back_zpass_op:3; /**< PIPE_STENCIL_OP_x */ + unsigned back_zfail_op:3; /**< PIPE_STENCIL_OP_x */ + ubyte ref_value[2]; /**< [0] = front, [1] = back */ + ubyte value_mask[2]; + ubyte write_mask[2]; + ubyte clear_value; }; struct pipe_framebuffer_state { /** multiple colorbuffers for multiple render targets */ - GLuint num_cbufs; + unsigned num_cbufs; struct pipe_surface *cbufs[PIPE_MAX_COLOR_BUFS]; struct pipe_surface *zbuf; /**< Z buffer */ @@ -213,25 +203,25 @@ struct pipe_framebuffer_state */ struct pipe_sampler_state { - GLuint wrap_s:3; /**< PIPE_TEX_WRAP_x */ - GLuint wrap_t:3; /**< PIPE_TEX_WRAP_x */ - GLuint wrap_r:3; /**< PIPE_TEX_WRAP_x */ - GLuint min_img_filter:2; /**< PIPE_TEX_FILTER_x */ - GLuint min_mip_filter:2; /**< PIPE_TEX_MIPFILTER_x */ - GLuint mag_img_filter:2; /**< PIPE_TEX_FILTER_x */ - GLuint compare:1; /**< shadow/depth compare enabled? */ - GLenum compare_mode:1; /**< PIPE_TEX_COMPARE_x */ - GLenum compare_func:3; /**< PIPE_FUNC_x */ - GLfloat shadow_ambient; /**< shadow test fail color/intensity */ - GLfloat min_lod; - GLfloat max_lod; - GLfloat lod_bias; + unsigned wrap_s:3; /**< PIPE_TEX_WRAP_x */ + unsigned wrap_t:3; /**< PIPE_TEX_WRAP_x */ + unsigned wrap_r:3; /**< PIPE_TEX_WRAP_x */ + unsigned min_img_filter:2; /**< PIPE_TEX_FILTER_x */ + unsigned min_mip_filter:2; /**< PIPE_TEX_MIPFILTER_x */ + unsigned mag_img_filter:2; /**< PIPE_TEX_FILTER_x */ + unsigned compare:1; /**< shadow/depth compare enabled? */ + unsigned compare_mode:1; /**< PIPE_TEX_COMPARE_x */ + unsigned compare_func:3; /**< PIPE_FUNC_x */ + float shadow_ambient; /**< shadow test fail color/intensity */ + float min_lod; + float max_lod; + float lod_bias; #if 0 /* need these? */ - GLint BaseLevel; /**< min mipmap level, OpenGL 1.2 */ - GLint MaxLevel; /**< max mipmap level, OpenGL 1.2 */ - GLfloat border_color[4]; + int BaseLevel; /**< min mipmap level, OpenGL 1.2 */ + int MaxLevel; /**< max mipmap level, OpenGL 1.2 */ + float border_color[4]; #endif - GLfloat max_anisotropy; + float max_anisotropy; }; @@ -243,12 +233,12 @@ struct pipe_region { struct pipe_buffer_handle *buffer; /**< driver private buffer handle */ - GLuint refcount; /**< Reference count for region */ - GLuint cpp; /**< bytes per pixel */ - GLuint pitch; /**< in pixels */ - GLuint height; /**< in pixels */ - GLubyte *map; /**< only non-NULL when region is actually mapped */ - GLuint map_refcount; /**< Reference count for mapping */ + unsigned refcount; /**< Reference count for region */ + unsigned cpp; /**< bytes per pixel */ + unsigned pitch; /**< in pixels */ + unsigned height; /**< in pixels */ + ubyte *map; /**< only non-NULL when region is actually mapped */ + unsigned map_refcount; /**< Reference count for mapping */ }; @@ -259,18 +249,18 @@ struct pipe_region struct pipe_surface { struct pipe_region *region; - GLuint format:5; /**< PIPE_FORMAT_x */ - GLuint width, height; - GLuint offset; /**< offset from start of region, in bytes */ - GLint refcount; + unsigned format:5; /**< PIPE_FORMAT_x */ + unsigned width, height; + unsigned offset; /**< offset from start of region, in bytes */ + unsigned refcount; /** get block/tile of pixels from surface */ void (*get_tile)(struct pipe_surface *ps, - GLuint x, GLuint y, GLuint w, GLuint h, GLfloat *p); + unsigned x, unsigned y, unsigned w, unsigned h, float *p); /** put block/tile of pixels into surface */ void (*put_tile)(struct pipe_surface *ps, - GLuint x, GLuint y, GLuint w, GLuint h, const GLfloat *p); + unsigned x, unsigned y, unsigned w, unsigned h, const float *p); }; @@ -279,11 +269,11 @@ struct pipe_surface */ struct pipe_mipmap_level { - GLuint level_offset; - GLuint width; - GLuint height; - GLuint depth; - GLuint nr_images; + unsigned level_offset; + unsigned width; + unsigned height; + unsigned depth; + unsigned nr_images; /* Explicitly store the offset of each image for each cube face or * depth value. Pretty much have to accept that hardware formats @@ -291,33 +281,34 @@ struct pipe_mipmap_level * compute the offsets of depth/cube images within a mipmap level, * so have to store them as a lookup table: */ - GLuint *image_offset; /**< array [depth] of offsets */ + unsigned *image_offset; /**< array [depth] of offsets */ }; struct pipe_mipmap_tree { /* Effectively the key: */ - GLenum target; /* XXX convert to PIPE_TEXTURE_x */ - GLenum internal_format; /* XXX convert to PIPE_FORMAT_x */ + unsigned target; /* XXX convert to PIPE_TEXTURE_x */ + unsigned internal_format; /* XXX convert to PIPE_FORMAT_x */ + + unsigned format; /**< PIPE_FORMAT_x */ + unsigned first_level; + unsigned last_level; - GLuint format; /**< PIPE_FORMAT_x */ - GLuint first_level; - GLuint last_level; + unsigned width0, height0, depth0; /**< Level zero image dimensions */ + unsigned cpp; - GLuint width0, height0, depth0; /**< Level zero image dimensions */ - GLuint cpp; - GLboolean compressed; + unsigned compressed:1; /* Derived from the above: */ - GLuint pitch; - GLuint depth_pitch; /* per-image on i945? */ - GLuint total_height; + unsigned pitch; + unsigned depth_pitch; /* per-image on i945? */ + unsigned total_height; /* Includes image offset tables: */ - struct pipe_mipmap_level level[MAX_TEXTURE_LEVELS]; + struct pipe_mipmap_level level[PIPE_MAX_TEXTURE_LEVELS]; /* The data is held here: */ @@ -325,7 +316,7 @@ struct pipe_mipmap_tree /* These are also refcounted: */ - GLuint refcount; + unsigned refcount; }; diff --git a/src/mesa/pipe/softpipe/sp_clear.c b/src/mesa/pipe/softpipe/sp_clear.c index 2d69b6e0dc..14ddf0c306 100644 --- a/src/mesa/pipe/softpipe/sp_clear.c +++ b/src/mesa/pipe/softpipe/sp_clear.c @@ -44,7 +44,7 @@ */ void softpipe_clear(struct pipe_context *pipe, struct pipe_surface *ps, - GLuint clearValue) + unsigned clearValue) { struct softpipe_context *softpipe = softpipe_context(pipe); GLint x, y, w, h; diff --git a/src/mesa/pipe/softpipe/sp_clear.h b/src/mesa/pipe/softpipe/sp_clear.h index e706e731c2..a8ed1c4ecc 100644 --- a/src/mesa/pipe/softpipe/sp_clear.h +++ b/src/mesa/pipe/softpipe/sp_clear.h @@ -37,7 +37,7 @@ struct pipe_context; extern void softpipe_clear(struct pipe_context *pipe, struct pipe_surface *ps, - GLuint clearValue); + unsigned clearValue); #endif /* SP_CLEAR_H */ diff --git a/src/mesa/pipe/softpipe/sp_quad_fs.c b/src/mesa/pipe/softpipe/sp_quad_fs.c index b68d0f95ac..70a80aff88 100644 --- a/src/mesa/pipe/softpipe/sp_quad_fs.c +++ b/src/mesa/pipe/softpipe/sp_quad_fs.c @@ -32,13 +32,15 @@ * all the enabled attributes run contiguously. */ -#include "glheader.h" -#include "imports.h" +#include "main/mtypes.h" + +#include "pipe/p_util.h" +#include "tgsi/core/tgsi_core.h" + #include "sp_context.h" #include "sp_headers.h" #include "sp_quad.h" #include "sp_tex_sample.h" -#include "tgsi/core/tgsi_core.h" #if 0 #if defined __GNUC__ @@ -71,9 +73,9 @@ struct exec_machine { const struct setup_coefficient *coef; /**< will point to quad->coef */ #if ALIGNED_ATTRIBS - GLfloat attr[FRAG_ATTRIB_MAX][NUM_CHANNELS][QUAD_SIZE] __attribute__(( aligned( 16 ) )); + GLfloat attr[PIPE_ATTRIB_MAX][NUM_CHANNELS][QUAD_SIZE] __attribute__(( aligned( 16 ) )); #else - GLfloat attr[FRAG_ATTRIB_MAX][NUM_CHANNELS][QUAD_SIZE]; + GLfloat attr[PIPE_ATTRIB_MAX][NUM_CHANNELS][QUAD_SIZE]; #endif }; diff --git a/src/mesa/pipe/softpipe/sp_tex_layout.c b/src/mesa/pipe/softpipe/sp_tex_layout.c index bd5f5e930d..fda1b46ab4 100644 --- a/src/mesa/pipe/softpipe/sp_tex_layout.c +++ b/src/mesa/pipe/softpipe/sp_tex_layout.c @@ -33,6 +33,7 @@ #include "macros.h" #include "pipe/p_state.h" #include "pipe/p_context.h" +#include "pipe/p_defines.h" #include "sp_tex_layout.h" @@ -250,18 +251,18 @@ softpipe_mipmap_tree_layout(struct pipe_context *pipe, struct pipe_mipmap_tree * switch (d) { case 4: switch (face) { - case FACE_POS_X: - case FACE_NEG_X: + case PIPE_TEX_FACE_POS_X: + case PIPE_TEX_FACE_NEG_X: x += step_offsets[face][0] * d; y += step_offsets[face][1] * d; break; - case FACE_POS_Y: - case FACE_NEG_Y: + case PIPE_TEX_FACE_POS_Y: + case PIPE_TEX_FACE_NEG_Y: y += 12; x -= 8; break; - case FACE_POS_Z: - case FACE_NEG_Z: + case PIPE_TEX_FACE_POS_Z: + case PIPE_TEX_FACE_NEG_Z: y = mt->total_height - 4; x = (face - 4) * 8; break; |