Mesa (7.8): Add missing EGL files to the tarballs.
Module: Mesa Branch: 7.8 Commit: 2ded27b2f0a7b01f5db77ea9a2a25df5baa876b3 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ded27b2f0a7b01f5db77ea9a2a25df5baa876b3 Author: Chia-I Wu Date: Tue Mar 23 14:37:24 2010 +0800 Add missing EGL files to the tarballs. Add the Makefile of Gallium EGL drivers and demos using EGL to the tarballs. --- Makefile |9 + 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/Makefile b/Makefile index 733d57b..7c75d7f 100644 --- a/Makefile +++ b/Makefile @@ -324,6 +324,7 @@ GALLIUM_FILES = \ $(DIRECTORY)/src/gallium/*/Makefile \ $(DIRECTORY)/src/gallium/*/SConscript \ $(DIRECTORY)/src/gallium/*/*/Makefile \ + $(DIRECTORY)/src/gallium/*/*/Makefile.egl \ $(DIRECTORY)/src/gallium/*/*/Makefile.template \ $(DIRECTORY)/src/gallium/*/*/SConscript \ $(DIRECTORY)/src/gallium/*/*/*.[ch] \ @@ -407,6 +408,14 @@ DEMO_FILES = \ $(DIRECTORY)/progs/demos/*.cxx \ $(DIRECTORY)/progs/demos/*.dat \ $(DIRECTORY)/progs/demos/README \ + $(DIRECTORY)/progs/egl/Makefile \ + $(DIRECTORY)/progs/egl/*.[ch] \ + $(DIRECTORY)/progs/es1/*/Makefile \ + $(DIRECTORY)/progs/es1/*/*.[ch] \ + $(DIRECTORY)/progs/es2/*/Makefile \ + $(DIRECTORY)/progs/es2/*/*.[ch] \ + $(DIRECTORY)/progs/openvg/*/Makefile\ + $(DIRECTORY)/progs/openvg/*/*.[ch] \ $(DIRECTORY)/progs/fbdev/Makefile \ $(DIRECTORY)/progs/fbdev/glfbdevtest.c \ $(DIRECTORY)/progs/objviewer/*.[ch] \ ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): glx: Suppress BadDrawable from DRI2CopyRegion
Module: Mesa Branch: master Commit: 7a0bcba9f9d7a4dcba11d06f207a5d494a330d5f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a0bcba9f9d7a4dcba11d06f207a5d494a330d5f Author: Kristian Høgsberg Date: Mon Mar 22 21:57:26 2010 -0400 glx: Suppress BadDrawable from DRI2CopyRegion This can happen when an X window is destroyed behind our back. We use DRI2CopyRegion behind the scenes in many places (like flushing the fake front to the real front) so we have to ignore X errors triggered in that case. The glean test cases trigger this consistently as they don't destroy the GLX drawable nicely, they just destroy the X window. --- src/glx/dri2.c | 15 ++- 1 files changed, 14 insertions(+), 1 deletions(-) diff --git a/src/glx/dri2.c b/src/glx/dri2.c index 5de55cd..9ca9b3e 100644 --- a/src/glx/dri2.c +++ b/src/glx/dri2.c @@ -62,6 +62,8 @@ static Bool DRI2WireToEvent(Display *dpy, XEvent *event, xEvent *wire); static Status DRI2EventToWire(Display *dpy, XEvent *event, xEvent *wire); +static int +DRI2Error(Display *display, xError *err, XExtCodes *codes, int *ret_code); static /* const */ XExtensionHooks dri2ExtensionHooks = { NULL, /* create_gc */ @@ -73,7 +75,7 @@ static /* const */ XExtensionHooks dri2ExtensionHooks = { DRI2CloseDisplay, /* close_display */ DRI2WireToEvent,/* wire_to_event */ DRI2EventToWire,/* event_to_wire */ - NULL, /* error */ + DRI2Error, /* error */ NULL, /* error_string */ }; @@ -160,6 +162,17 @@ DRI2EventToWire(Display *dpy, XEvent *event, xEvent *wire) return Success; } +static int +DRI2Error(Display *display, xError *err, XExtCodes *codes, int *ret_code) +{ +if (err->majorCode == codes->major_opcode && + err->errorCode == BadDrawable && + err->minorCode == X_DRI2CopyRegion) + return True; + +return False; +} + Bool DRI2QueryExtension(Display * dpy, int *eventBase, int *errorBase) { ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (7.8): glx: Suppress BadDrawable from DRI2CopyRegion
Module: Mesa Branch: 7.8 Commit: 094c6fbc45cee1b53d9f1d7d4123d6da6a8958a3 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=094c6fbc45cee1b53d9f1d7d4123d6da6a8958a3 Author: Kristian Høgsberg Date: Mon Mar 22 21:57:26 2010 -0400 glx: Suppress BadDrawable from DRI2CopyRegion This can happen when an X window is destroyed behind our back. We use DRI2CopyRegion behind the scenes in many places (like flushing the fake front to the real front) so we have to ignore X errors triggered in that case. The glean test cases trigger this consistently as they don't destroy the GLX drawable nicely, they just destroy the X window. --- src/glx/dri2.c | 15 ++- 1 files changed, 14 insertions(+), 1 deletions(-) diff --git a/src/glx/dri2.c b/src/glx/dri2.c index 5de55cd..9ca9b3e 100644 --- a/src/glx/dri2.c +++ b/src/glx/dri2.c @@ -62,6 +62,8 @@ static Bool DRI2WireToEvent(Display *dpy, XEvent *event, xEvent *wire); static Status DRI2EventToWire(Display *dpy, XEvent *event, xEvent *wire); +static int +DRI2Error(Display *display, xError *err, XExtCodes *codes, int *ret_code); static /* const */ XExtensionHooks dri2ExtensionHooks = { NULL, /* create_gc */ @@ -73,7 +75,7 @@ static /* const */ XExtensionHooks dri2ExtensionHooks = { DRI2CloseDisplay, /* close_display */ DRI2WireToEvent,/* wire_to_event */ DRI2EventToWire,/* event_to_wire */ - NULL, /* error */ + DRI2Error, /* error */ NULL, /* error_string */ }; @@ -160,6 +162,17 @@ DRI2EventToWire(Display *dpy, XEvent *event, xEvent *wire) return Success; } +static int +DRI2Error(Display *display, xError *err, XExtCodes *codes, int *ret_code) +{ +if (err->majorCode == codes->major_opcode && + err->errorCode == BadDrawable && + err->minorCode == X_DRI2CopyRegion) + return True; + +return False; +} + Bool DRI2QueryExtension(Display * dpy, int *eventBase, int *errorBase) { ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (refs/tags/mesa_7_6_1_rc2): mesa: set version string to 7.6.1-rc2
Module: Mesa Branch: refs/tags/mesa_7_6_1_rc2 Commit: 910aaed4daad319b584b68ae2468432c8f6bac21 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=910aaed4daad319b584b68ae2468432c8f6bac21 Author: Ian Romanick Date: Mon Nov 30 17:55:21 2009 -0800 mesa: set version string to 7.6.1-rc2 --- src/mesa/main/version.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index 3e91439..e2fed57 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -32,7 +32,7 @@ #define MESA_MAJOR 7 #define MESA_MINOR 6 #define MESA_PATCH 1 -#define MESA_VERSION_STRING "7.6.1-rc1" +#define MESA_VERSION_STRING "7.6.1-rc2" /* To make version comparison easy */ #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (refs/tags/mesa_7_7_1_rc2): mesa: set version string to 7.7.1-rc2
Module: Mesa Branch: refs/tags/mesa_7_7_1_rc2 Commit: e33121b2d84ddbbdbed6663490e05d7011c69e9a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e33121b2d84ddbbdbed6663490e05d7011c69e9a Author: Ian Romanick Date: Mon Mar 22 18:15:53 2010 -0700 mesa: set version string to 7.7.1-rc2 --- Makefile|2 +- src/mesa/main/version.h |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index bd44a23..f148e9e 100644 --- a/Makefile +++ b/Makefile @@ -182,7 +182,7 @@ ultrix-gcc: # Rules for making release tarballs -VERSION=7.7.1-rc1 +VERSION=7.7.1-rc2 DIRECTORY = Mesa-$(VERSION) LIB_NAME = MesaLib-$(VERSION) DEMO_NAME = MesaDemos-$(VERSION) diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index 3441592..bc61b52 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -32,7 +32,7 @@ #define MESA_MAJOR 7 #define MESA_MINOR 7 #define MESA_PATCH 1 -#define MESA_VERSION_STRING "7.7.1-rc1" +#define MESA_VERSION_STRING "7.7.1-rc2" /* To make version comparison easy */ #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (refs/tags/mesa_7_7_rc1): mesa: set version string to 7.7-rc1
Module: Mesa Branch: refs/tags/mesa_7_7_rc1 Commit: f17dbe256bb38c35d885260be7e5856f1561de97 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f17dbe256bb38c35d885260be7e5856f1561de97 Author: Ian Romanick Date: Mon Nov 30 17:56:07 2009 -0800 mesa: set version string to 7.7-rc1 --- src/mesa/main/version.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index 0cae186..fddb9a8 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -32,7 +32,7 @@ #define MESA_MAJOR 7 #define MESA_MINOR 7 #define MESA_PATCH 0 -#define MESA_VERSION_STRING "7.7-devel" +#define MESA_VERSION_STRING "7.7-rc1" /* To make version comparison easy */ #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (refs/tags/7.8-rc2): mesa: set version string to 7.8-rc2
Module: Mesa Branch: refs/tags/7.8-rc2 Commit: 4eead425504057e0862bc214bceaa512775973f1 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4eead425504057e0862bc214bceaa512775973f1 Author: Ian Romanick Date: Mon Mar 22 18:09:15 2010 -0700 mesa: set version string to 7.8-rc2 --- Makefile|2 +- src/mesa/main/version.h |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 68b5adf..733d57b 100644 --- a/Makefile +++ b/Makefile @@ -180,7 +180,7 @@ ultrix-gcc: # Rules for making release tarballs -VERSION=7.8-rc1 +VERSION=7.8-rc2 DIRECTORY = Mesa-$(VERSION) LIB_NAME = MesaLib-$(VERSION) DEMO_NAME = MesaDemos-$(VERSION) diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index 7ed1e1a..23d74ee 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -35,7 +35,7 @@ #define MESA_MAJOR 7 #define MESA_MINOR 8 #define MESA_PATCH 0 -#define MESA_VERSION_STRING "7.8-rc1" +#define MESA_VERSION_STRING "7.8-rc2" /* To make version comparison easy */ #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (7.8): mesa: set version string to 7.8-rc2
Module: Mesa Branch: 7.8 Commit: 4eead425504057e0862bc214bceaa512775973f1 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4eead425504057e0862bc214bceaa512775973f1 Author: Ian Romanick Date: Mon Mar 22 18:09:15 2010 -0700 mesa: set version string to 7.8-rc2 --- Makefile|2 +- src/mesa/main/version.h |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 68b5adf..733d57b 100644 --- a/Makefile +++ b/Makefile @@ -180,7 +180,7 @@ ultrix-gcc: # Rules for making release tarballs -VERSION=7.8-rc1 +VERSION=7.8-rc2 DIRECTORY = Mesa-$(VERSION) LIB_NAME = MesaLib-$(VERSION) DEMO_NAME = MesaDemos-$(VERSION) diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index 7ed1e1a..23d74ee 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -35,7 +35,7 @@ #define MESA_MAJOR 7 #define MESA_MINOR 8 #define MESA_PATCH 0 -#define MESA_VERSION_STRING "7.8-rc1" +#define MESA_VERSION_STRING "7.8-rc2" /* To make version comparison easy */ #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (mesa_7_7_branch): mesa: set version string to 7.7.1-rc2
Module: Mesa Branch: mesa_7_7_branch Commit: e33121b2d84ddbbdbed6663490e05d7011c69e9a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e33121b2d84ddbbdbed6663490e05d7011c69e9a Author: Ian Romanick Date: Mon Mar 22 18:15:53 2010 -0700 mesa: set version string to 7.7.1-rc2 --- Makefile|2 +- src/mesa/main/version.h |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index bd44a23..f148e9e 100644 --- a/Makefile +++ b/Makefile @@ -182,7 +182,7 @@ ultrix-gcc: # Rules for making release tarballs -VERSION=7.7.1-rc1 +VERSION=7.7.1-rc2 DIRECTORY = Mesa-$(VERSION) LIB_NAME = MesaLib-$(VERSION) DEMO_NAME = MesaDemos-$(VERSION) diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index 3441592..bc61b52 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -32,7 +32,7 @@ #define MESA_MAJOR 7 #define MESA_MINOR 7 #define MESA_PATCH 1 -#define MESA_VERSION_STRING "7.7.1-rc1" +#define MESA_VERSION_STRING "7.7.1-rc2" /* To make version comparison easy */ #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): gallium/docs: Cleanup and clarify point ras info.
Module: Mesa Branch: master Commit: d5b2cecb03e8985aae589f1a8118e60eb693452a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5b2cecb03e8985aae589f1a8118e60eb693452a Author: Corbin Simpson Date: Mon Mar 22 18:12:16 2010 -0700 gallium/docs: Cleanup and clarify point ras info. ...This state's interdependent? Really? Needs moar cleanup. --- src/gallium/docs/source/cso/rasterizer.rst | 76 1 files changed, 44 insertions(+), 32 deletions(-) diff --git a/src/gallium/docs/source/cso/rasterizer.rst b/src/gallium/docs/source/cso/rasterizer.rst index ccd9136..e8dc829 100644 --- a/src/gallium/docs/source/cso/rasterizer.rst +++ b/src/gallium/docs/source/cso/rasterizer.rst @@ -7,7 +7,7 @@ The rasterizer state controls the rendering of points, lines and triangles. Attributes include polygon culling state, line width, line stipple, multisample state, scissoring and flat/smooth shading. -Members +Shading --- flatshade @@ -46,6 +46,49 @@ There are several important exceptions to the specification of this rule. second vertex, not the first. This permits each segment of the fan to have a different color. +Points +-- + +sprite_coord_enable +^^^ + +Specifies if a texture unit has its texture coordinates replaced or not. This +is a packed bitfield containing the enable for all texcoords -- if all bits +are zero, point sprites are effectively disabled. If any bit is set, then +point_smooth and point_quad_rasterization are ignored; point smoothing is +disabled and points are always rasterized as quads. If enabled, the four +vertices of the resulting quad will be assigned texture coordinates, +according to sprite_coord_mode. + +sprite_coord_mode +^ + +Specifies how the value for each shader output should be computed when drawing +point sprites. For PIPE_SPRITE_COORD_LOWER_LEFT, the lower-left vertex will +have coordinates (0,0,0,1). For PIPE_SPRITE_COORD_UPPER_LEFT, the upper-left +vertex will have coordinates (0,0,0,1). +This state is used by :ref:`Draw` to generate texcoords. + +.. note:: + +When geometry shaders are available, a special geometry shader could be +used instead of this functionality, to convert incoming points into quads +with the proper texture coordinates. + +point_quad_rasterization + + +Determines if points should be rasterized as quads or points. Certain APIs, +like Direct3D, always use quad rasterization for points, regardless of +whether point sprites are enabled or not. If this state is enabled, point +smoothing and antialiasing are disabled, and sprite coordinates are not +generated. + +.. note:: + + Some renderers always internally translate points into quads; this state + still affects those renderers by overriding other rasterization state. + Other Members ^ @@ -107,37 +150,6 @@ point_size_per_vertex Whether vertices have a point size element. point_size The size of points, if not specified per-vertex. -sprite_coord_enable -Specifies if a coord has its texture coordinates replaced or not. This -is a packed bitfield containing the enable for all coords - if all are 0 -point sprites are effectively disabled, though points may still be -rendered slightly different according to point_quad_rasterization. -If any coord is non-zero, point_smooth should be disabled, and -point_quad_rasterization enabled. -If enabled, the four vertices of the resulting quad will be assigned -texture coordinates, according to sprite_coord_mode. -sprite_coord_mode -Specifies how the value for each shader output should be computed when -drawing sprites, for each coord which has sprite_coord_enable set. -For PIPE_SPRITE_COORD_LOWER_LEFT, the lower left vertex will have -coordinate (0,0,0,1). -For PIPE_SPRITE_COORD_UPPER_LEFT, the upper-left vertex will have -coordinate (0,0,0,1). -This state is needed by :ref:`Draw` because that's where each -point vertex is converted into four quad vertices. There's no other -place to emit the new vertex texture coordinates which are required for -sprite rendering. -Note that when geometry shaders are available, this state could be -removed. A special geometry shader defined by the state tracker could -convert the incoming points into quads with the proper texture coords. -point_quad_rasterization -This determines if points should be rasterized as quads or points. -d3d always uses quad rasterization for points, regardless if point sprites -are enabled or not, but OGL has different rules. If point_quad_rasterization -is set, point_smooth should be disabled, and points will be rendered as -squares even if multisample is enabled. -sprite_coord_enable should be zero if point_quad_rasterization is not -enabled. scissor Whether the scissor test is enabled. ___ mesa
Mesa (master): r300g: Cleanup a few old warnings.
Module: Mesa Branch: master Commit: ca49a72a55895f8fefb090405a79918cbaa805ee URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca49a72a55895f8fefb090405a79918cbaa805ee Author: Corbin Simpson Date: Mon Mar 22 03:10:19 2010 -0700 r300g: Cleanup a few old warnings. Those paths aren't important anymore, and a debugging warning won't stop a hardlock anyway. --- src/gallium/drivers/r300/r300_emit.c | 33 + 1 files changed, 9 insertions(+), 24 deletions(-) diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index c897df6..796e3ec 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -146,10 +146,8 @@ static const float * get_shader_constant( struct rc_constant * constant, struct r300_constant_buffer * externals) { -struct r300_viewport_state* viewport = -(struct r300_viewport_state*)r300->viewport_state.state; -struct r300_textures_state* texstate = -(struct r300_textures_state*)r300->textures_state.state; +struct r300_viewport_state* viewport = r300->viewport_state.state; +struct r300_textures_state* texstate = r300->textures_state.state; static float vec[4] = { 0.0, 0.0, 0.0, 1.0 }; struct pipe_texture *tex; @@ -900,12 +898,6 @@ void r300_emit_vs_state(struct r300_context* r300, unsigned size, void* state) CS_LOCALS(r300); -if (!r300screen->caps->has_tcl) { -debug_printf("r300: Implementation error: emit_vs_state called," -" but has_tcl is FALSE!\n"); -return; -} - BEGIN_CS(size); /* R300_VAP_PVS_CODE_CNTL_0 * R300_VAP_PVS_CONST_CNTL @@ -935,28 +927,19 @@ void r300_emit_vs_state(struct r300_context* r300, unsigned size, void* state) void r300_emit_vs_constant_buffer(struct r300_context* r300, struct rc_constant_list* constants) { -int i; struct r300_screen* r300screen = r300_screen(r300->context.screen); +unsigned i; CS_LOCALS(r300); -if (!r300screen->caps->has_tcl) { -debug_printf("r300: Implementation error: emit_vs_constant_buffer called," -" but has_tcl is FALSE!\n"); -return; -} - -if (constants->Count == 0) -return; - BEGIN_CS(constants->Count * 4 + 3); OUT_CS_REG(R300_VAP_PVS_VECTOR_INDX_REG, (r300screen->caps->is_r500 ? R500_PVS_CONST_START : R300_PVS_CONST_START)); OUT_CS_ONE_REG(R300_VAP_PVS_UPLOAD_DATA, constants->Count * 4); for (i = 0; i < constants->Count; i++) { -const float * data = get_shader_constant(r300, - &constants->Constants[i], - &r300->shader_constants[PIPE_SHADER_VERTEX]); +const float *data = get_shader_constant(r300, +&constants->Constants[i], + &r300->shader_constants[PIPE_SHADER_VERTEX]); OUT_CS_32F(data[0]); OUT_CS_32F(data[1]); OUT_CS_32F(data[2]); @@ -1167,7 +1150,9 @@ void r300_emit_dirty_state(struct r300_context* r300) if (r300->dirty_state & R300_NEW_VERTEX_SHADER_CONSTANTS) { struct r300_vertex_shader* vs = r300->vs_state.state; -r300_emit_vs_constant_buffer(r300, &vs->code.constants); +if (vs->code.constants.Count) { +r300_emit_vs_constant_buffer(r300, &vs->code.constants); +} r300->dirty_state &= ~R300_NEW_VERTEX_SHADER_CONSTANTS; } ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): radeong: Always initialize this variable.
Module: Mesa Branch: master Commit: ed61faec7ea307ff22738b4fcc96933f910e4145 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed61faec7ea307ff22738b4fcc96933f910e4145 Author: Corbin Simpson Date: Mon Mar 22 18:11:40 2010 -0700 radeong: Always initialize this variable. May or may not be responsible for slight increases in ipers FPS. --- .../winsys/drm/radeon/core/radeon_drm_buffer.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/winsys/drm/radeon/core/radeon_drm_buffer.c b/src/gallium/winsys/drm/radeon/core/radeon_drm_buffer.c index e36bad7..ec45abf 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_drm_buffer.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_drm_buffer.c @@ -70,7 +70,7 @@ radeon_drm_buffer_map(struct pb_buffer *_buf, unsigned flags) { struct radeon_drm_buffer *buf = radeon_drm_buffer(_buf); -int write; +int write = 0; if (flags & PIPE_BUFFER_USAGE_DONTBLOCK) { if ((_buf->base.usage & PIPE_BUFFER_USAGE_VERTEX) || @@ -365,7 +365,7 @@ boolean radeon_drm_bufmgr_is_buffer_referenced(struct pb_buffer *_buf) return (radeon_bo_is_referenced_by_cs(buf->bo, buf->mgr->rws->cs) || radeon_bo_is_busy(buf->bo, &domain)); } - + void radeon_drm_bufmgr_flush_maps(struct pb_manager *_mgr) { ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (lp-surface-tiling): llvmpipe: checkpoint WIP: overhaul texture/ surface mapping
Module: Mesa Branch: lp-surface-tiling Commit: e2ca8d1328316dc8b36d5f688c16d109e49a6870 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2ca8d1328316dc8b36d5f688c16d109e49a6870 Author: Brian Paul Date: Mon Mar 22 18:53:11 2010 -0600 llvmpipe: checkpoint WIP: overhaul texture/surface mapping Conversion between tiled and linear surfaces is working everywhere now. The LP_TEXTURE_READ/READ_WRITE/WRITE_ALL flags let us avoid unnecessary image layout conversions. Still some loose ends, temporary/debug code, etc. Need to implement tiled/linear conversion for depth/stencil images. --- src/gallium/drivers/llvmpipe/lp_jit.c |4 +- src/gallium/drivers/llvmpipe/lp_jit.h |4 +- src/gallium/drivers/llvmpipe/lp_rast.c | 50 ++ src/gallium/drivers/llvmpipe/lp_rast_priv.h | 32 +++--- src/gallium/drivers/llvmpipe/lp_scene.c | 42 +++- src/gallium/drivers/llvmpipe/lp_scene.h |9 +++ src/gallium/drivers/llvmpipe/lp_texture.c | 96 ++- src/gallium/drivers/llvmpipe/lp_texture.h | 34 ++ 8 files changed, 169 insertions(+), 102 deletions(-) diff --git a/src/gallium/drivers/llvmpipe/lp_jit.c b/src/gallium/drivers/llvmpipe/lp_jit.c index 927e472..d15a34c 100644 --- a/src/gallium/drivers/llvmpipe/lp_jit.c +++ b/src/gallium/drivers/llvmpipe/lp_jit.c @@ -58,10 +58,10 @@ lp_jit_init_globals(struct llvmpipe_screen *screen) elem_types[LP_JIT_TEXTURE_DEPTH] = LLVMInt32Type(); elem_types[LP_JIT_TEXTURE_LAST_LEVEL] = LLVMInt32Type(); elem_types[LP_JIT_TEXTURE_ROW_STRIDE] = - LLVMArrayType(LLVMInt32Type(), LP_MAX_TEXTURE_2D_LEVELS); + LLVMArrayType(LLVMInt32Type(), LP_MAX_TEXTURE_LEVELS); elem_types[LP_JIT_TEXTURE_DATA] = LLVMArrayType(LLVMPointerType(LLVMInt8Type(), 0), - LP_MAX_TEXTURE_2D_LEVELS); + LP_MAX_TEXTURE_LEVELS); texture_type = LLVMStructType(elem_types, Elements(elem_types), 0); diff --git a/src/gallium/drivers/llvmpipe/lp_jit.h b/src/gallium/drivers/llvmpipe/lp_jit.h index 4930ff0..3790a71 100644 --- a/src/gallium/drivers/llvmpipe/lp_jit.h +++ b/src/gallium/drivers/llvmpipe/lp_jit.h @@ -51,8 +51,8 @@ struct lp_jit_texture uint32_t height; uint32_t depth; uint32_t last_level; - uint32_t row_stride[LP_MAX_TEXTURE_2D_LEVELS]; - const void *data[LP_MAX_TEXTURE_2D_LEVELS]; + uint32_t row_stride[LP_MAX_TEXTURE_LEVELS]; + const void *data[LP_MAX_TEXTURE_LEVELS]; }; diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c index d32a6b9..fa9724a 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast.c +++ b/src/gallium/drivers/llvmpipe/lp_rast.c @@ -61,7 +61,9 @@ lp_rast_begin( struct lp_rasterizer *rast, for (i = 0; i < rast->state.nr_cbufs; i++) { struct pipe_surface *cbuf = scene->fb.cbufs[i]; +#if 0 rast->cbuf[i].map = scene->cbuf_map[i]; +#endif rast->cbuf[i].format = cbuf->texture->format; rast->cbuf[i].tiles_per_row = align(cbuf->width, TILE_SIZE) / TILE_SIZE; rast->cbuf[i].blocksize = @@ -136,7 +138,8 @@ lp_rast_clear_color(struct lp_rasterizer_task *task, clear_color[2] == clear_color[3]) { /* clear to grayscale value {x, x, x, x} */ for (i = 0; i < rast->state.nr_cbufs; i++) { - void *ptr = lp_rast_color_pointer(rast, i, task->x, task->y); + void *ptr = lp_rast_get_color_tile_pointer(rast, i, task->x, task->y, +LP_TEXTURE_WRITE_ALL); memset(ptr, clear_color[0], TILE_SIZE * TILE_SIZE * 4); } } @@ -148,7 +151,8 @@ lp_rast_clear_color(struct lp_rasterizer_task *task, */ const unsigned chunk = TILE_SIZE / 4; for (i = 0; i < rast->state.nr_cbufs; i++) { - uint8_t *c = lp_rast_color_pointer(rast, i, task->x, task->y); + uint8_t *c = lp_rast_get_color_tile_pointer(rast, i, task->x, task->y, + LP_TEXTURE_WRITE_ALL); unsigned j; for (j = 0; j < 4 * TILE_SIZE; j++) { memset(c, clear_color[0], chunk); @@ -201,7 +205,8 @@ lp_rast_clear_zstencil(struct lp_rasterizer_task *task, * TILE_VECTOR_HEIGHT x TILE_VECTOR_WIDTH pixels have consecutive offsets. */ - dst = lp_rast_depth_pointer(rast, tile_x, tile_y); + dst = lp_rast_get_depth_tile_pointer(rast, tile_x, tile_y, +LP_TEXTURE_WRITE_ALL); switch (block_size) { case 1: @@ -266,17 +271,17 @@ lp_rast_shade_tile(struct lp_rasterizer_task *task, for (x = 0; x < TILE_SIZE; x += 4) { uint8_t *color[PIPE_MAX_COLOR_BUFS]; uint32_t *depth; - unsigned block_offset, i; - - /* offset of the 16x16 pixel block within the tile */ - block_offset = ((y / 4) * (16 * 16) + (x / 4) * 16); + unsigned i; /* color
Mesa (lp-surface-tiling): llvmpipe: rename/repurpose lp_rast_store_color()
Module: Mesa Branch: lp-surface-tiling Commit: f2730a03839ee8984c1f537b7cbebba24961397a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2730a03839ee8984c1f537b7cbebba24961397a Author: Brian Paul Date: Mon Mar 22 14:41:58 2010 -0600 llvmpipe: rename/repurpose lp_rast_store_color() --- src/gallium/drivers/llvmpipe/lp_rast.c | 43 +++--- src/gallium/drivers/llvmpipe/lp_rast_priv.h |1 - 2 files changed, 5 insertions(+), 39 deletions(-) diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c index 1b1d6e3..d32a6b9 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast.c +++ b/src/gallium/drivers/llvmpipe/lp_rast.c @@ -49,7 +49,6 @@ lp_rast_begin( struct lp_rasterizer *rast, struct lp_scene *scene ) { const struct pipe_framebuffer_state *fb = &scene->fb; - boolean write_color = fb->nr_cbufs != 0; boolean write_zstencil = fb->zsbuf != NULL; int i; @@ -59,7 +58,6 @@ lp_rast_begin( struct lp_rasterizer *rast, rast->state.nr_cbufs = scene->fb.nr_cbufs; rast->state.write_zstencil = write_zstencil; - rast->state.write_color = write_color; for (i = 0; i < rast->state.nr_cbufs; i++) { struct pipe_surface *cbuf = scene->fb.cbufs[i]; @@ -416,44 +414,15 @@ outline_subtiles(uint8_t *tile) /** - * Write the rasterizer's color tile to the framebuffer. + * Called when we're done writing to a color tile. + * This is just a debug hook. */ static void -lp_rast_store_color(struct lp_rasterizer_task *task) +lp_rast_finish_color_tile(struct lp_rasterizer_task *task) { struct lp_rasterizer *rast = task->rast; unsigned i; -#if 00 - const unsigned x = task->x, y = task->y; - for (i = 0; i < rast->state.nr_cbufs; i++) { - if (x >= rast->cbuf[i].width) -continue; - - if (y >= rast->cbuf[i].height) -continue; - - LP_DBG(DEBUG_RAST, "%s [%u] %d,%d\n", __FUNCTION__, -task->thread_index, x, y); - - if (LP_DEBUG & DEBUG_SHOW_SUBTILES) - outline_subtiles(task->tile.color[i]); - else if (LP_DEBUG & DEBUG_SHOW_TILES) - outline_tile(task->tile.color[i]); - -#if 00 - lp_tile_write_4ub(rast->cbuf[i].format, - task->tile.color[i], - rast->cbuf[i].map, - rast->cbuf[i].stride, - x, y, - TILE_SIZE, TILE_SIZE); -#endif - - LP_COUNT(nr_color_tile_store); - } - -#else for (i = 0; i < rast->state.nr_cbufs; i++) { uint8_t *color = lp_rast_color_pointer(rast, i, task->x, task->y); @@ -462,7 +431,6 @@ lp_rast_store_color(struct lp_rasterizer_task *task) else if (LP_DEBUG & DEBUG_SHOW_TILES) outline_tile(color); } -#endif } @@ -517,10 +485,9 @@ rasterize_bin(struct lp_rasterizer_task *task, } } - /* Write the rasterizer's tiles to the framebuffer. + /* Done writing colors to this tile. */ - if (task->rast->state.write_color) - lp_rast_store_color(task); + lp_rast_finish_color_tile(task); /* Free data for this bin. */ diff --git a/src/gallium/drivers/llvmpipe/lp_rast_priv.h b/src/gallium/drivers/llvmpipe/lp_rast_priv.h index 8833cf7..e25723d 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast_priv.h +++ b/src/gallium/drivers/llvmpipe/lp_rast_priv.h @@ -87,7 +87,6 @@ struct lp_rasterizer struct { unsigned nr_cbufs; - boolean write_color; boolean write_zstencil; unsigned clear_color; unsigned clear_depth; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (lp-surface-tiling): llvmpipe: remove/consolidate texture image code
Module: Mesa Branch: lp-surface-tiling Commit: 3cff0bde4b4ab980e1c3e812700419091527c76b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3cff0bde4b4ab980e1c3e812700419091527c76b Author: Brian Paul Date: Mon Mar 22 14:11:38 2010 -0600 llvmpipe: remove/consolidate texture image code --- src/gallium/drivers/llvmpipe/lp_setup.c |4 +- src/gallium/drivers/llvmpipe/lp_texture.c | 102 + src/gallium/drivers/llvmpipe/lp_texture.h | 19 +- 3 files changed, 50 insertions(+), 75 deletions(-) diff --git a/src/gallium/drivers/llvmpipe/lp_setup.c b/src/gallium/drivers/llvmpipe/lp_setup.c index 5c3ab9b..0bdee98 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup.c +++ b/src/gallium/drivers/llvmpipe/lp_setup.c @@ -498,8 +498,8 @@ lp_setup_set_fragment_sampler_views(struct lp_setup_context *setup, (ubyte *) lp_tex->data + lp_tex->level_offset[j]; #else jit_tex->data[j] = - llvmpipe_get_linear_texture_image(lp_tex, 0, j, -LP_TEXTURE_READ); + llvmpipe_get_texture_image(lp_tex, 0, j, LP_TEXTURE_READ, + LP_TEXTURE_LINEAR); #endif jit_tex->row_stride[j] = lp_tex->stride[j]; } diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c index f36c49d..6d014ed 100644 --- a/src/gallium/drivers/llvmpipe/lp_texture.c +++ b/src/gallium/drivers/llvmpipe/lp_texture.c @@ -30,8 +30,6 @@ * Michel Dänzer */ -#include - #include "pipe/p_context.h" #include "pipe/p_defines.h" @@ -220,8 +218,9 @@ llvmpipe_texture_map(struct pipe_texture *texture, /* convert from linear to tiled layout? */ if () { - void *tiled = llvmpipe_get_tiled_texture_image(lpt, 0, 0, - LP_TEXTURE_READ_WRITE); + void *tiled = llvmpipe_get_texture_image(lpt, 0, 0, + LP_TEXTURE_READ_WRITE, + LP_TEXTURE_TILED); lp_linear_to_tiled(map, tiled, lpt->base.width0, lpt->base.height0, lpt->base.format, @@ -257,10 +256,8 @@ llvmpipe_texture_map(struct pipe_texture *texture, offset = 0; } - if (layout == LP_TEXTURE_LINEAR) - map = llvmpipe_get_linear_texture_image(lpt, face, level, usage); - else - map = llvmpipe_get_tiled_texture_image(lpt, face, level, usage); + map = llvmpipe_get_texture_image(lpt, face, level, usage, layout); + map += offset; } @@ -291,8 +288,9 @@ llvmpipe_texture_unmap(struct pipe_texture *texture, /* convert from tiled to linear layout */ if () { - void *tiled = llvmpipe_get_tiled_texture_image(lpt, 0, 0, - LP_TEXTURE_READ); + void *tiled = llvmpipe_get_texture_image(lpt, 0, 0, + LP_TEXTURE_READ, + LP_TEXTURE_TILED); lp_tiled_to_linear(tiled, lpt->dt_map, lpt->base.width0, lpt->base.height0, lpt->base.format, @@ -535,30 +533,49 @@ tex_image_size(const struct llvmpipe_texture *lpt, unsigned level) /** - * Comon/helper code used by llvmpipe_get_linear_texture_image() and - * llvmpipe_get_tiled_texture_image(). Basically, return a pointer - * to either linear or tiled texture data. Allocate memory when needed - * and convert from the other image format when its data is newer + * Return pointer to texture image data (either linear or tiled layout). * \param usage one of LP_TEXTURE_READ/WRITE/READ_WRITE + * \param layout either LP_TEXTURE_LINEAR or LP_TEXTURE_TILED */ -static void * -get_texture_image_data(struct llvmpipe_texture *lpt, - unsigned level, - struct llvmpipe_texture_image *target_img, - struct llvmpipe_texture_image *other_img, - boolean getting_linear, - unsigned usage) +void * +llvmpipe_get_texture_image(struct llvmpipe_texture *lpt, + unsigned face, unsigned level, + unsigned usage, unsigned layout) { - void *target_data = target_img->data; - void *other_data = other_img->data; + /* +* 'target' refers to the image which we're retrieving (either in +* tiled or linear layout). +* 'other' refers to the same image but in the other layout. (it may +* or may not exist. +*/ + struct llvmpipe_texture_image *target_img; + struct llvmpipe_texture_image *other_img; + void *target_data; + void *other_data; + + /* which is target? which is other? */ + if (layout == LP_TEXTURE_LIN
Mesa (lp-surface-tiling): llvmpipe: remove lp_rast_load_color()
Module: Mesa Branch: lp-surface-tiling Commit: e192a47552c5d20d2caef452ca7697e2cd852c9b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e192a47552c5d20d2caef452ca7697e2cd852c9b Author: Brian Paul Date: Mon Mar 22 14:38:51 2010 -0600 llvmpipe: remove lp_rast_load_color() --- src/gallium/drivers/llvmpipe/lp_rast.c | 38 +-- src/gallium/drivers/llvmpipe/lp_rast.h |3 -- src/gallium/drivers/llvmpipe/lp_setup.c |4 --- 3 files changed, 1 insertions(+), 44 deletions(-) diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c index 967afac..1b1d6e3 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast.c +++ b/src/gallium/drivers/llvmpipe/lp_rast.c @@ -232,40 +232,6 @@ lp_rast_clear_zstencil(struct lp_rasterizer_task *task, } -/** - * Load tile color from the framebuffer surface. - * This is a bin command called during bin processing. - */ -void -lp_rast_load_color(struct lp_rasterizer_task *task, - const union lp_rast_cmd_arg arg) -{ -#if 00 - struct lp_rasterizer *rast = task->rast; - const unsigned x = task->x, y = task->y; - unsigned i; - - LP_DBG(DEBUG_RAST, "%s at %u, %u\n", __FUNCTION__, x, y); - - for (i = 0; i < rast->state.nr_cbufs; i++) { - if (x >= rast->cbuf[i].width || y >= rast->cbuf[i].height) -continue; - -#if 00 - lp_tile_read_4ub(rast->cbuf[i].format, - task->tile.color[i], - rast->cbuf[i].map, - rast->cbuf[i].stride, - x, y, - TILE_SIZE, TILE_SIZE); -#endif - - LP_COUNT(nr_color_tile_load); - } -#endif -} - - void lp_rast_set_state(struct lp_rasterizer_task *task, const union lp_rast_cmd_arg arg) @@ -569,7 +535,6 @@ static struct { const char *name; } cmd_names[] = { - RAST(load_color), RAST(clear_color), RAST(clear_zstencil), RAST(triangle), @@ -627,8 +592,7 @@ is_empty_bin( const struct cmd_bin *bin ) } for (i = 0; i < head->count; i++) - if (head->cmd[i] != lp_rast_load_color && - head->cmd[i] != lp_rast_set_state) { + if (head->cmd[i] != lp_rast_set_state) { return FALSE; } diff --git a/src/gallium/drivers/llvmpipe/lp_rast.h b/src/gallium/drivers/llvmpipe/lp_rast.h index ae838f3..57abe90 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast.h +++ b/src/gallium/drivers/llvmpipe/lp_rast.h @@ -217,9 +217,6 @@ void lp_rast_clear_color( struct lp_rasterizer_task *, void lp_rast_clear_zstencil( struct lp_rasterizer_task *, const union lp_rast_cmd_arg ); -void lp_rast_load_color( struct lp_rasterizer_task *, - const union lp_rast_cmd_arg ); - void lp_rast_set_state( struct lp_rasterizer_task *, const union lp_rast_cmd_arg ); diff --git a/src/gallium/drivers/llvmpipe/lp_setup.c b/src/gallium/drivers/llvmpipe/lp_setup.c index 0bdee98..4e1941a 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup.c +++ b/src/gallium/drivers/llvmpipe/lp_setup.c @@ -161,10 +161,6 @@ begin_binning( struct lp_setup_context *setup ) lp_scene_bin_everywhere( scene, lp_rast_clear_color, setup->clear.color ); - else - lp_scene_bin_everywhere( scene, - lp_rast_load_color, - lp_rast_arg_null() ); } if (setup->fb.zsbuf) { ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): GLX/OML: honor OML semantics even if target, divisor and remainder are 0
Module: Mesa Branch: master Commit: 8f4f2a0c3625de2bb2b8e955afc23b3ce8c95f93 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8f4f2a0c3625de2bb2b8e955afc23b3ce8c95f93 Author: Jesse Barnes Date: Mon Mar 22 16:39:11 2010 -0700 GLX/OML: honor OML semantics even if target, divisor and remainder are 0 This change passes a remainder of 1 to the server with the DRI2SwapBuffers request, causing it to honor the OML semantics for the swap rather than falling through to glXSwapBuffers behavior. The remainder actually ends up ignored since the divisor is 0, but we need to differentiate the OML and standard behavior somehow. Reported-by: Mario Kleiner Signed-off-by: Jesse Barnes --- src/glx/glxcmds.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index 49cbce7..ea267f3 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -2507,6 +2507,9 @@ __glXSwapBuffersMscOML(Display * dpy, GLXDrawable drawable, if (divisor > 0 && remainder >= divisor) return -1; + if (target_msc == 0 && divisor == 0 && remainder == 0) + remainder = 1; + #ifdef __DRI_SWAP_BUFFER_COUNTER if (psc->counters != NULL) return (*psc->sbc->swapBuffersMSC)(pdraw->driDrawable, target_msc, ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Add disasm for SNB MATH opcode.
Module: Mesa Branch: master Commit: d9ea1af82c233a10adbf9b842546e9322480591b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9ea1af82c233a10adbf9b842546e9322480591b Author: Eric Anholt Date: Mon Mar 22 10:17:19 2010 -0700 i965: Add disasm for SNB MATH opcode. --- src/mesa/drivers/dri/i965/brw_disasm.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_disasm.c b/src/mesa/drivers/dri/i965/brw_disasm.c index ad61770..db3fc50 100644 --- a/src/mesa/drivers/dri/i965/brw_disasm.c +++ b/src/mesa/drivers/dri/i965/brw_disasm.c @@ -57,6 +57,7 @@ struct { [BRW_OPCODE_DPH] = { .name = "dph", .nsrc = 2, .ndst = 1 }, [BRW_OPCODE_DP3] = { .name = "dp3", .nsrc = 2, .ndst = 1 }, [BRW_OPCODE_DP2] = { .name = "dp2", .nsrc = 2, .ndst = 1 }, +[BRW_OPCODE_MATH] = { .name = "math", .nsrc = 2, .ndst = 1 }, [BRW_OPCODE_AVG] = { .name = "avg", .nsrc = 2, .ndst = 1 }, [BRW_OPCODE_ADD] = { .name = "add", .nsrc = 2, .ndst = 1 }, @@ -797,7 +798,11 @@ int brw_disasm (FILE *file, struct brw_instruction *inst) err |= control (file, "saturate", saturate, inst->header.saturate, NULL); err |= control (file, "debug control", debug_ctrl, inst->header.debug_control, NULL); -if (inst->header.opcode != BRW_OPCODE_SEND) +if (inst->header.opcode == BRW_OPCODE_MATH) { + string (file, " "); + err |= control (file, "function", math_function, + inst->header.destreg__conditionalmod, NULL); +} else if (inst->header.opcode != BRW_OPCODE_SEND) err |= control (file, "conditional modifier", conditional_modifier, inst->header.destreg__conditionalmod, NULL); ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Enable normal clipping on SNB.
Module: Mesa Branch: master Commit: 10069916c71d55ddaeca793f5dade203a8b42da5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=10069916c71d55ddaeca793f5dade203a8b42da5 Author: Eric Anholt Date: Mon Mar 22 09:04:25 2010 -0700 i965: Enable normal clipping on SNB. Rejecting all doesn't seem to be helping get the pipeline lit up. --- src/mesa/drivers/dri/i965/gen6_clip_state.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/i965/gen6_clip_state.c b/src/mesa/drivers/dri/i965/gen6_clip_state.c index 06f8145..acc4b7f 100644 --- a/src/mesa/drivers/dri/i965/gen6_clip_state.c +++ b/src/mesa/drivers/dri/i965/gen6_clip_state.c @@ -55,7 +55,7 @@ upload_clip_state(struct brw_context *brw) OUT_BATCH(GEN6_CLIP_STATISTICS_ENABLE); OUT_BATCH(GEN6_CLIP_ENABLE | GEN6_CLIP_API_OGL | -GEN6_CLIP_MODE_REJECT_ALL | /* XXX: debug: get VS working */ +GEN6_CLIP_MODE_NORMAL | GEN6_CLIP_XY_TEST | depth_clamp | provoking); ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Force single program flow in SNB GS, to match gen4 GS.
Module: Mesa Branch: master Commit: 7319b19fc94c3b49d19b8bf9ce52dc17db3ac6f3 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7319b19fc94c3b49d19b8bf9ce52dc17db3ac6f3 Author: Eric Anholt Date: Fri Mar 19 17:14:12 2010 -0700 i965: Force single program flow in SNB GS, to match gen4 GS. --- src/mesa/drivers/dri/i965/gen6_gs_state.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/i965/gen6_gs_state.c b/src/mesa/drivers/dri/i965/gen6_gs_state.c index 161e7b8..cefc93b 100644 --- a/src/mesa/drivers/dri/i965/gen6_gs_state.c +++ b/src/mesa/drivers/dri/i965/gen6_gs_state.c @@ -50,7 +50,8 @@ upload_gs_state(struct brw_context *brw) BEGIN_BATCH(7); OUT_BATCH(CMD_3D_GS_STATE << 16 | (7 - 2)); OUT_RELOC(brw->gs.prog_bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0); - OUT_BATCH((0 << GEN6_GS_SAMPLER_COUNT_SHIFT) | + OUT_BATCH(GEN6_GS_SPF_MODE | + (0 << GEN6_GS_SAMPLER_COUNT_SHIFT) | (0 << GEN6_GS_BINDING_TABLE_ENTRY_COUNT_SHIFT)); OUT_BATCH(0); /* scratch space base offset */ OUT_BATCH((1 << GEN6_GS_DISPATCH_START_GRF_SHIFT) | ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Correct copy and wasted field shifts for SNB GS URB.
Module: Mesa Branch: master Commit: 073f8d1c00165acccb60f878a2aa770c2b885aec URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=073f8d1c00165acccb60f878a2aa770c2b885aec Author: Eric Anholt Date: Fri Mar 19 17:08:42 2010 -0700 i965: Correct copy and wasted field shifts for SNB GS URB. --- src/mesa/drivers/dri/i965/brw_defines.h |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index 984e56d..6fe574b 100644 --- a/src/mesa/drivers/dri/i965/brw_defines.h +++ b/src/mesa/drivers/dri/i965/brw_defines.h @@ -831,8 +831,8 @@ #define CMD_URB0x7805 /* GEN6+ */ # define GEN6_URB_VS_SIZE_SHIFT16 # define GEN6_URB_VS_ENTRIES_SHIFT 0 -# define GEN6_URB_GS_SIZE_SHIFT8 -# define GEN6_URB_GS_ENTRIES_SHIFT 0 +# define GEN6_URB_GS_ENTRIES_SHIFT 8 +# define GEN6_URB_GS_SIZE_SHIFT0 #define CMD_VIEWPORT_STATE_POINTERS0x780d /* GEN6+ */ # define GEN6_CC_VIEWPORT_MODIFY (1 << 12) ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Enable VS on SNB.
Module: Mesa Branch: master Commit: edc8a99d1dc9963f61c3ecb5fdf481efae359ce4 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=edc8a99d1dc9963f61c3ecb5fdf481efae359ce4 Author: Eric Anholt Date: Fri Mar 19 16:00:31 2010 -0700 i965: Enable VS on SNB. It appears that the thing that was killing VS threads was the gratuitous NOP that replaced the gratuitous jump from OPCODE_END to the nearby OPCODE_END implementation. With that gone, we can move on to the rest of the pipeline. --- src/mesa/drivers/dri/i965/gen6_vs_state.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/i965/gen6_vs_state.c b/src/mesa/drivers/dri/i965/gen6_vs_state.c index fe597df..5916a13 100644 --- a/src/mesa/drivers/dri/i965/gen6_vs_state.c +++ b/src/mesa/drivers/dri/i965/gen6_vs_state.c @@ -100,7 +100,8 @@ upload_vs_state(struct brw_context *brw) (brw->vs.prog_data->urb_read_length << GEN6_VS_URB_READ_LENGTH_SHIFT) | (0 << GEN6_VS_URB_ENTRY_READ_OFFSET_SHIFT)); OUT_BATCH((0 << GEN6_VS_MAX_THREADS_SHIFT) | -GEN6_VS_STATISTICS_ENABLE); +GEN6_VS_STATISTICS_ENABLE | +GEN6_VS_ENABLE); ADVANCE_BATCH(); intel_batchbuffer_emit_mi_flush(intel->batch); ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Remove gratuitous jump or nop from OPCODE_END to vertex emit.
Module: Mesa Branch: master Commit: d163d5fac0eb5e57a2afb77f557525110753359e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d163d5fac0eb5e57a2afb77f557525110753359e Author: Eric Anholt Date: Fri Mar 19 15:57:50 2010 -0700 i965: Remove gratuitous jump or nop from OPCODE_END to vertex emit. Just emit the URB write at END time. Subroutine code that sits after OPCODE_END won't be executed since we've ended the thread at the point that the URB write is done. --- src/mesa/drivers/dri/i965/brw_vs_emit.c | 43 ++ 1 files changed, 3 insertions(+), 40 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index 14c3b93..2272614 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -1361,31 +1361,6 @@ static void emit_vertex_write( struct brw_vs_compile *c) } } - -/** - * Called after code generation to resolve subroutine calls and the - * END instruction. - * \param end_inst points to brw code for END instruction - * \param last_inst points to last instruction emitted before vertex write - */ -static void -post_vs_emit( struct brw_vs_compile *c, - struct brw_instruction *end_inst, - struct brw_instruction *last_inst ) -{ - GLint offset; - - brw_resolve_cals(&c->func); - - /* patch up the END code to jump past subroutines, etc */ - offset = last_inst - end_inst; - if (offset > 1) { - brw_set_src1(end_inst, brw_imm_d(offset * 16)); - } else { - end_inst->header.opcode = BRW_OPCODE_NOP; - } -} - static GLboolean accumulator_contains(struct brw_vs_compile *c, struct brw_reg val) { @@ -1466,8 +1441,6 @@ void brw_vs_emit(struct brw_vs_compile *c ) struct intel_context *intel = &brw->intel; const GLuint nr_insns = c->vp->program.Base.NumInstructions; GLuint insn, if_depth = 0, loop_depth = 0; - GLuint end_offset = 0; - struct brw_instruction *end_inst, *last_inst; struct brw_instruction *if_inst[MAX_IF_DEPTH], *loop_inst[MAX_LOOP_DEPTH] = { 0 }; const struct brw_indirect stack_index = brw_indirect(0, 0); GLuint index; @@ -1751,12 +1724,8 @@ void brw_vs_emit(struct brw_vs_compile *c ) brw_MOV(p, brw_ip_reg(), deref_1d(stack_index, 0)); brw_set_access_mode(p, BRW_ALIGN_16); break; - case OPCODE_END: - end_offset = p->nr_insn; - /* this instruction will get patched later to jump past subroutine - * code, etc. - */ - brw_ADD(p, brw_ip_reg(), brw_ip_reg(), brw_imm_d(1*16)); + case OPCODE_END: +emit_vertex_write(c); break; case OPCODE_PRINT: /* no-op */ @@ -1817,13 +1786,7 @@ void brw_vs_emit(struct brw_vs_compile *c ) release_tmps(c); } - end_inst = &p->store[end_offset]; - last_inst = &p->store[p->nr_insn]; - - /* The END instruction will be patched to jump to this code */ - emit_vertex_write(c); - - post_vs_emit(c, end_inst, last_inst); + brw_resolve_cals(p); brw_optimize(p); ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Allow FS constants to be used as immediates instead of push/pull.
Module: Mesa Branch: master Commit: 4fc57322258a750c0a9cabc77372b5ccde1fa877 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4fc57322258a750c0a9cabc77372b5ccde1fa877 Author: Eric Anholt Date: Fri Mar 19 12:34:53 2010 -0700 i965: Allow FS constants to be used as immediates instead of push/pull. The hope is to later take advantage of the reduced constant usage to free up regs. This only covers the GLSL path at the moment, because the brw_wm_emit path doesn't get the information as to whether a float value is a constant or a uniform. --- src/mesa/drivers/dri/i965/brw_wm.h |2 +- src/mesa/drivers/dri/i965/brw_wm_emit.c | 38 +++ src/mesa/drivers/dri/i965/brw_wm_glsl.c | 25 +++- 3 files changed, 58 insertions(+), 7 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index 47b764d..5aade1c 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -286,7 +286,7 @@ void brw_wm_pass0( struct brw_wm_compile *c ); void brw_wm_pass1( struct brw_wm_compile *c ); void brw_wm_pass2( struct brw_wm_compile *c ); void brw_wm_emit( struct brw_wm_compile *c ); - +GLboolean brw_wm_arg_can_be_immediate(enum prog_opcode, int arg); void brw_wm_print_value( struct brw_wm_compile *c, struct brw_wm_value *value ); diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c b/src/mesa/drivers/dri/i965/brw_wm_emit.c index 5abc067..f79de5d 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_emit.c +++ b/src/mesa/drivers/dri/i965/brw_wm_emit.c @@ -61,6 +61,44 @@ static INLINE struct brw_reg sechalf( struct brw_reg reg ) return reg; } +/* Return the SrcReg index of the channels that can be immediate float operands + * instead of usage of PROGRAM_CONSTANT values through push/pull. + */ +GLboolean +brw_wm_arg_can_be_immediate(enum prog_opcode opcode, int arg) +{ + int opcode_array[] = { + [OPCODE_ADD] = 2, + [OPCODE_CMP] = 3, + [OPCODE_DP3] = 2, + [OPCODE_DP4] = 2, + [OPCODE_DPH] = 2, + [OPCODE_MAX] = 2, + [OPCODE_MIN] = 2, + [OPCODE_MOV] = 1, + [OPCODE_MUL] = 2, + [OPCODE_SEQ] = 2, + [OPCODE_SGE] = 2, + [OPCODE_SGT] = 2, + [OPCODE_SLE] = 2, + [OPCODE_SLT] = 2, + [OPCODE_SNE] = 2, + [OPCODE_XPD] = 2, + }; + + /* These opcodes get broken down in a way that allow two +* args to be immediates. +*/ + if (opcode == OPCODE_MAD || opcode == OPCODE_LRP) { + if (arg == 1 || arg == 2) +return GL_TRUE; + } + + if (opcode > ARRAY_SIZE(opcode_array)) + return GL_FALSE; + + return arg == opcode_array[opcode] - 1; +} /** * Computes the screen-space x,y position of the pixels. diff --git a/src/mesa/drivers/dri/i965/brw_wm_glsl.c b/src/mesa/drivers/dri/i965/brw_wm_glsl.c index d9d6dda..d78fb4e 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_glsl.c +++ b/src/mesa/drivers/dri/i965/brw_wm_glsl.c @@ -570,12 +570,25 @@ static struct brw_reg get_src_reg(struct brw_wm_compile *c, const GLuint nr = 1; const GLuint component = GET_SWZ(src->Swizzle, channel); -/* Extended swizzle terms */ -if (component == SWIZZLE_ZERO) { - return brw_imm_f(0.0F); -} -else if (component == SWIZZLE_ONE) { - return brw_imm_f(1.0F); +/* Only one immediate value can be used per native opcode, and it + * has be in the src1 slot, so not all Mesa instructions will get + * to take advantage of immediate constants. + */ +if (brw_wm_arg_can_be_immediate(inst->Opcode, srcRegIndex)) { + const struct gl_program_parameter_list *params; + + params = c->fp->program.Base.Parameters; + + /* Extended swizzle terms */ + if (component == SWIZZLE_ZERO) { + return brw_imm_f(0.0F); + } else if (component == SWIZZLE_ONE) { + return brw_imm_f(1.0F); + } + + if (src->File == PROGRAM_CONSTANT) { + return brw_imm_f(params->ParameterValues[src->Index][component]); + } } if (c->fp->use_const_buffer && ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Ignore execution mask for the mov(m0, g0) of VS URB write header on SNB.
Module: Mesa Branch: master Commit: a9acde6a723c8f343f65243d1ccac6836215ba0c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a9acde6a723c8f343f65243d1ccac6836215ba0c Author: Eric Anholt Date: Fri Mar 19 15:04:17 2010 -0700 i965: Ignore execution mask for the mov(m0, g0) of VS URB write header on SNB. Otherwise, we may not get the FFTID set up which would break freeing of resources. --- src/mesa/drivers/dri/i965/brw_eu_emit.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index d2395de..c33c3de 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -1416,7 +1416,10 @@ void brw_urb_WRITE(struct brw_compile *p, * and the first message register index comes from src0. */ if (intel->gen >= 6) { + brw_push_insn_state(p); + brw_set_mask_control( p, BRW_MASK_DISABLE ); brw_MOV(p, brw_message_reg(msg_reg_nr), src0); + brw_pop_insn_state(p); src0 = brw_message_reg(msg_reg_nr); } ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Add INTEL_DEBUG=glsl_force to force brw_wm_glsl.c.
Module: Mesa Branch: master Commit: 864f2bd61d2bad31b49a680a168fc6d7c04d1de1 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=864f2bd61d2bad31b49a680a168fc6d7c04d1de1 Author: Eric Anholt Date: Fri Mar 19 12:27:38 2010 -0700 i965: Add INTEL_DEBUG=glsl_force to force brw_wm_glsl.c. I keep finding the desire to force this path to debug it instead of cooking up goofy-looking testcases to do so. --- src/mesa/drivers/dri/i965/brw_wm_glsl.c|3 +++ src/mesa/drivers/dri/intel/intel_context.c |1 + src/mesa/drivers/dri/intel/intel_context.h |1 + 3 files changed, 5 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm_glsl.c b/src/mesa/drivers/dri/i965/brw_wm_glsl.c index 0b66cc6..d9d6dda 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_glsl.c +++ b/src/mesa/drivers/dri/i965/brw_wm_glsl.c @@ -23,6 +23,9 @@ GLboolean brw_wm_is_glsl(const struct gl_fragment_program *fp) { int i; +if (INTEL_DEBUG & DEBUG_GLSL_FORCE) + return GL_TRUE; + for (i = 0; i < fp->Base.NumInstructions; i++) { const struct prog_instruction *inst = &fp->Base.Instructions[i]; switch (inst->Opcode) { diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index c86dd1d..5289e95 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -444,6 +444,7 @@ static const struct dri_debug_control debug_control[] = { { "sing", DEBUG_SINGLE_THREAD }, { "thre", DEBUG_SINGLE_THREAD }, { "wm",DEBUG_WM }, + { "glsl_force", DEBUG_GLSL_FORCE }, { "urb", DEBUG_URB }, { "vs",DEBUG_VS }, { NULL,0 } diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index 22736a9..6a68c90 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -342,6 +342,7 @@ extern int INTEL_DEBUG; #define DEBUG_WM0x80 #define DEBUG_URB 0x100 #define DEBUG_VS0x200 +#define DEBUG_GLSL_FORCE 0x400 #define DBG(...) do { \ if (INTEL_DEBUG & FILE_DEBUG_FLAG) \ ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Optimize OPCODE_CMP by using BRW_SEL to choose results .
Module: Mesa Branch: master Commit: 8a998342c6bf591f1969b432bdda1732d480ee56 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a998342c6bf591f1969b432bdda1732d480ee56 Author: Eric Anholt Date: Fri Mar 19 11:44:43 2010 -0700 i965: Optimize OPCODE_CMP by using BRW_SEL to choose results. Tested with piglit glsl-fs-sqrt-branch, fp-cmp.vpfp. --- src/mesa/drivers/dri/i965/brw_wm_emit.c |6 +- 1 files changed, 1 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c b/src/mesa/drivers/dri/i965/brw_wm_emit.c index 1869fd0..5abc067 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_emit.c +++ b/src/mesa/drivers/dri/i965/brw_wm_emit.c @@ -620,14 +620,10 @@ void emit_cmp(struct brw_compile *p, for (i = 0; i < 4; i++) { if (mask & (1
Mesa (master): st/mesa: rename st_framebuffer() to st_ws_framebuffer()
Module: Mesa Branch: master Commit: af0b0e1172a14ca215777f6ef6569d1433f45af2 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=af0b0e1172a14ca215777f6ef6569d1433f45af2 Author: Brian Paul Date: Mon Mar 22 15:49:38 2010 -0600 st/mesa: rename st_framebuffer() to st_ws_framebuffer() Be clear that this function is not just a cast wrapper. --- src/mesa/state_tracker/st_manager.c | 21 - 1 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index ab86ed5..ca3a29c 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -59,10 +59,13 @@ void st_flush(struct st_context *st, uint pipeFlushFlags, struct pipe_fence_handle **fence); /** + * Cast wrapper to convert a GLframebuffer to an st_framebuffer. + * Return NULL if the GLframebuffer is a user-created framebuffer. + * We'll only return non-null for window system framebuffers. * Note that this function may fail. */ static INLINE struct st_framebuffer * -st_framebuffer(GLframebuffer *fb) +st_ws_framebuffer(GLframebuffer *fb) { /* FBO cannot be casted. See st_new_framebuffer */ return (struct st_framebuffer *) ((fb && !fb->Name) ? fb : NULL); @@ -473,9 +476,9 @@ st_context_notify_invalid_framebuffer(struct st_context_iface *stctxi, struct st_framebuffer *stfb; /* either draw or read winsys fb */ - stfb = st_framebuffer(st->ctx->WinSysDrawBuffer); + stfb = st_ws_framebuffer(st->ctx->WinSysDrawBuffer); if (!stfb || stfb->iface != stfbi) - stfb = st_framebuffer(st->ctx->WinSysReadBuffer); + stfb = st_ws_framebuffer(st->ctx->WinSysReadBuffer); assert(stfb && stfb->iface == stfbi); p_atomic_set(&stfb->revalidate, TRUE); @@ -616,7 +619,7 @@ st_api_make_current(struct st_api *stapi, struct st_context_iface *stctxi, if (st) { /* reuse/create the draw fb */ - stfb = st_framebuffer(st->ctx->WinSysDrawBuffer); + stfb = st_ws_framebuffer(st->ctx->WinSysDrawBuffer); if (stfb && stfb->iface == stdrawi) { stdraw = NULL; st_framebuffer_reference(&stdraw, stfb); @@ -626,7 +629,7 @@ st_api_make_current(struct st_api *stapi, struct st_context_iface *stctxi, } /* reuse/create the read fb */ - stfb = st_framebuffer(st->ctx->WinSysReadBuffer); + stfb = st_ws_framebuffer(st->ctx->WinSysReadBuffer); if (!stfb || stfb->iface != streadi) stfb = stdraw; if (stfb && stfb->iface == streadi) { @@ -698,7 +701,7 @@ st_api_destroy(struct st_api *stapi) void st_manager_flush_frontbuffer(struct st_context *st) { - struct st_framebuffer *stfb = st_framebuffer(st->ctx->DrawBuffer); + struct st_framebuffer *stfb = st_ws_framebuffer(st->ctx->DrawBuffer); struct st_renderbuffer *strb = NULL; if (stfb) @@ -723,8 +726,8 @@ st_manager_flush_frontbuffer(struct st_context *st) void st_manager_validate_framebuffers(struct st_context *st) { - struct st_framebuffer *stdraw = st_framebuffer(st->ctx->DrawBuffer); - struct st_framebuffer *stread = st_framebuffer(st->ctx->ReadBuffer); + struct st_framebuffer *stdraw = st_ws_framebuffer(st->ctx->DrawBuffer); + struct st_framebuffer *stread = st_ws_framebuffer(st->ctx->ReadBuffer); /* st_public.h */ if ((stdraw && !stdraw->iface) || (stread && !stread->iface)) { @@ -747,7 +750,7 @@ boolean st_manager_add_color_renderbuffer(struct st_context *st, GLframebuffer *fb, gl_buffer_index idx) { - struct st_framebuffer *stfb = st_framebuffer(fb); + struct st_framebuffer *stfb = st_ws_framebuffer(fb); /* FBO or st_public.h */ if (!stfb || !stfb->iface) ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): st/glx: fix depth/stencil format selection code
Module: Mesa Branch: master Commit: ef2664da6c4db1b52ef351641e3ee949b87f9c7b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef2664da6c4db1b52ef351641e3ee949b87f9c7b Author: Brian Paul Date: Mon Mar 22 15:55:43 2010 -0600 st/glx: fix depth/stencil format selection code This fixes a pretty big performance regression caused by commit 3475e88442c16fb2b50b903fe246b3ebe49da226. When the user does not request a stencil buffer it's important that we don't use a depth/stencil format (or at least make it our last choice). If the user calls glClear(GL_DEPTH_BUFFER_BIT) when we have a combined depth/stencil buffer, that causes us to hit the clear_with_quad() path which can be much, much slower than calling pipe_context::clear(). Also, try to use a shallower depth format before a deeper one. --- src/gallium/state_trackers/glx/xlib/xm_api.c | 19 --- 1 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c index 62a2bfc..8dd5420 100644 --- a/src/gallium/state_trackers/glx/xlib/xm_api.c +++ b/src/gallium/state_trackers/glx/xlib/xm_api.c @@ -309,8 +309,9 @@ choose_pixel_format(XMesaVisual v) return 0; } + /** - * Choose a depth/stencil format that is "better" than the given depth and + * Choose a depth/stencil format that satisfies the given depth and * stencil sizes. */ static enum pipe_format @@ -324,16 +325,20 @@ choose_depth_stencil_format(XMesaDisplay xmdpy, int depth, int stencil) int count, i; count = 0; + + if (depth <= 16 && stencil == 0) { + formats[count++] = PIPE_FORMAT_Z16_UNORM; + } + if (depth <= 24 && stencil == 0) { + formats[count++] = PIPE_FORMAT_X8Z24_UNORM; + formats[count++] = PIPE_FORMAT_Z24X8_UNORM; + } if (depth <= 24 && stencil <= 8) { formats[count++] = PIPE_FORMAT_S8Z24_UNORM; formats[count++] = PIPE_FORMAT_Z24S8_UNORM; } - - if (!stencil) { - if (depth <= 16) - formats[count++] = PIPE_FORMAT_Z16_UNORM; - if (depth <= 32) - formats[count++] = PIPE_FORMAT_Z32_UNORM; + if (depth <= 32 && stencil == 0) { + formats[count++] = PIPE_FORMAT_Z32_UNORM; } fmt = PIPE_FORMAT_NONE; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (7.8): intel: Call intel_prepare_render() before looking up regions.
Module: Mesa Branch: 7.8 Commit: 62d54f0387610ec4f71cc3d0fb2a5d49e370a0ef URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=62d54f0387610ec4f71cc3d0fb2a5d49e370a0ef Author: Kristian Høgsberg Date: Mon Mar 22 17:54:35 2010 -0400 intel: Call intel_prepare_render() before looking up regions. Fixes #27213. --- src/mesa/drivers/dri/intel/intel_blit.c|2 -- src/mesa/drivers/dri/intel/intel_mipmap_tree.c |2 ++ src/mesa/drivers/dri/intel/intel_pixel_copy.c | 11 +++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_blit.c b/src/mesa/drivers/dri/intel/intel_blit.c index f2769aa..4ad42a7 100644 --- a/src/mesa/drivers/dri/intel/intel_blit.c +++ b/src/mesa/drivers/dri/intel/intel_blit.c @@ -119,8 +119,6 @@ intelEmitCopyBlit(struct intel_context *intel, break; } while (pass < 2); - intel_prepare_render(intel); - if (pass >= 2) { drm_intel_gem_bo_map_gtt(dst_buffer); drm_intel_gem_bo_map_gtt(src_buffer); diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c index 4f14946..1b340af 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -520,6 +520,8 @@ intel_miptree_image_copy(struct intel_context *intel, width = ALIGN(width, align_w); } + intel_prepare_render(intel); + for (i = 0; i < depth; i++) { intel_miptree_get_image_offset(src, level, face, i, &src_x, &src_y); intel_miptree_get_image_offset(dst, level, face, i, &dst_x, &dst_y); diff --git a/src/mesa/drivers/dri/intel/intel_pixel_copy.c b/src/mesa/drivers/dri/intel/intel_pixel_copy.c index f4f3fd6..757f2f7 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_copy.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_copy.c @@ -108,8 +108,8 @@ do_blit_copypixels(GLcontext * ctx, GLint dstx, GLint dsty, GLenum type) { struct intel_context *intel = intel_context(ctx); - struct intel_region *dst = intel_drawbuf_region(intel); - struct intel_region *src = copypix_src_region(intel, type); + struct intel_region *dst; + struct intel_region *src; struct gl_framebuffer *fb = ctx->DrawBuffer; struct gl_framebuffer *read_fb = ctx->ReadBuffer; GLint orig_dstx; @@ -133,13 +133,16 @@ do_blit_copypixels(GLcontext * ctx, ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F) return GL_FALSE; + intel_prepare_render(intel); + + dst = intel_drawbuf_region(intel); + src = copypix_src_region(intel, type); + if (!src || !dst) return GL_FALSE; intelFlush(&intel->ctx); - intel_prepare_render(intel); - /* XXX: We fail to handle different inversion between read and draw framebuffer. */ /* Clip to destination buffer. */ ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): intel: Call intel_prepare_render() before looking up regions .
Module: Mesa Branch: master Commit: 6422cf387baef75df9e5dbbed5cea4c0f495fe41 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6422cf387baef75df9e5dbbed5cea4c0f495fe41 Author: Kristian Høgsberg Date: Mon Mar 22 17:54:35 2010 -0400 intel: Call intel_prepare_render() before looking up regions. Fixes #27213. --- src/mesa/drivers/dri/intel/intel_blit.c|2 -- src/mesa/drivers/dri/intel/intel_mipmap_tree.c |2 ++ src/mesa/drivers/dri/intel/intel_pixel_copy.c | 11 +++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_blit.c b/src/mesa/drivers/dri/intel/intel_blit.c index 4617370..167140d 100644 --- a/src/mesa/drivers/dri/intel/intel_blit.c +++ b/src/mesa/drivers/dri/intel/intel_blit.c @@ -119,8 +119,6 @@ intelEmitCopyBlit(struct intel_context *intel, break; } while (pass < 2); - intel_prepare_render(intel); - if (pass >= 2) return GL_FALSE; diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c index e671355..ef1966e 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -448,6 +448,8 @@ intel_miptree_image_copy(struct intel_context *intel, width = ALIGN(width, align_w); } + intel_prepare_render(intel); + for (i = 0; i < depth; i++) { intel_miptree_get_image_offset(src, level, face, i, &src_x, &src_y); intel_miptree_get_image_offset(dst, level, face, i, &dst_x, &dst_y); diff --git a/src/mesa/drivers/dri/intel/intel_pixel_copy.c b/src/mesa/drivers/dri/intel/intel_pixel_copy.c index 8efb7a6..56faf07 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_copy.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_copy.c @@ -108,8 +108,8 @@ do_blit_copypixels(GLcontext * ctx, GLint dstx, GLint dsty, GLenum type) { struct intel_context *intel = intel_context(ctx); - struct intel_region *dst = intel_drawbuf_region(intel); - struct intel_region *src = copypix_src_region(intel, type); + struct intel_region *dst; + struct intel_region *src; struct gl_framebuffer *fb = ctx->DrawBuffer; struct gl_framebuffer *read_fb = ctx->ReadBuffer; GLint orig_dstx; @@ -134,13 +134,16 @@ do_blit_copypixels(GLcontext * ctx, ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F) return GL_FALSE; + intel_prepare_render(intel); + + dst = intel_drawbuf_region(intel); + src = copypix_src_region(intel, type); + if (!src || !dst) return GL_FALSE; intelFlush(&intel->ctx); - intel_prepare_render(intel); - /* Clip to destination buffer. */ orig_dstx = dstx; orig_dsty = dsty; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (gallium-resources): gallium: Usage parameter of get_transfer/ transfer_inline_write is a bitfield.
Module: Mesa Branch: gallium-resources Commit: b33fd3ce3daf2921a895367d0ed3fd9c718a8575 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b33fd3ce3daf2921a895367d0ed3fd9c718a8575 Author: Michal Krol Date: Mon Mar 22 21:03:26 2010 +0100 gallium: Usage parameter of get_transfer/transfer_inline_write is a bitfield. --- src/gallium/auxiliary/util/u_resource.c |2 +- src/gallium/auxiliary/util/u_transfer.c |4 ++-- src/gallium/auxiliary/util/u_transfer.h | 12 ++-- src/gallium/drivers/cell/ppu/cell_texture.c |2 +- src/gallium/drivers/i915/i915_resource_buffer.c |2 +- src/gallium/drivers/identity/id_context.c|4 ++-- src/gallium/drivers/llvmpipe/lp_texture.c|2 +- src/gallium/drivers/nv50/nv50_transfer.c |2 +- src/gallium/drivers/nv50/nv50_transfer.h |2 +- src/gallium/drivers/nvfx/nvfx_transfer.c |2 +- src/gallium/drivers/nvfx/nvfx_transfer.h |2 +- src/gallium/drivers/softpipe/sp_texture.c|2 +- src/gallium/drivers/svga/svga_resource_texture.c |2 +- src/gallium/drivers/trace/tr_context.c |4 ++-- src/gallium/include/pipe/p_context.h |4 ++-- 15 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/gallium/auxiliary/util/u_resource.c b/src/gallium/auxiliary/util/u_resource.c index e0fa2dc..c37a68b 100644 --- a/src/gallium/auxiliary/util/u_resource.c +++ b/src/gallium/auxiliary/util/u_resource.c @@ -75,7 +75,7 @@ void u_transfer_unmap_vtbl( struct pipe_context *pipe, void u_transfer_inline_write_vtbl( struct pipe_context *pipe, struct pipe_resource *resource, struct pipe_subresource sr, - enum pipe_transfer_usage usage, + unsigned usage, const struct pipe_box *box, const void *data, unsigned stride, diff --git a/src/gallium/auxiliary/util/u_transfer.c b/src/gallium/auxiliary/util/u_transfer.c index 24a7873..02e714f 100644 --- a/src/gallium/auxiliary/util/u_transfer.c +++ b/src/gallium/auxiliary/util/u_transfer.c @@ -10,7 +10,7 @@ void u_default_transfer_inline_write( struct pipe_context *pipe, struct pipe_resource *resource, struct pipe_subresource sr, - enum pipe_transfer_usage usage, + unsigned usage, const struct pipe_box *box, const void *data, unsigned stride, @@ -79,7 +79,7 @@ unsigned u_default_is_resource_referenced( struct pipe_context *pipe, struct pipe_transfer * u_default_get_transfer(struct pipe_context *context, struct pipe_resource *resource, struct pipe_subresource sr, - enum pipe_transfer_usage usage, + unsigned usage, const struct pipe_box *box) { struct pipe_transfer *transfer = CALLOC_STRUCT(pipe_transfer); diff --git a/src/gallium/auxiliary/util/u_transfer.h b/src/gallium/auxiliary/util/u_transfer.h index 4d67b85..eb07945 100644 --- a/src/gallium/auxiliary/util/u_transfer.h +++ b/src/gallium/auxiliary/util/u_transfer.h @@ -16,7 +16,7 @@ boolean u_default_resource_get_handle(struct pipe_screen *screen, void u_default_transfer_inline_write( struct pipe_context *pipe, struct pipe_resource *resource, struct pipe_subresource sr, - enum pipe_transfer_usage usage, + unsigned usage, const struct pipe_box *box, const void *data, unsigned stride, @@ -33,7 +33,7 @@ unsigned u_default_is_resource_referenced( struct pipe_context *pipe, struct pipe_transfer * u_default_get_transfer(struct pipe_context *context, struct pipe_resource *resource, struct pipe_subresource sr, - enum pipe_transfer_usage usage, + unsigned usage, const struct pipe_box *box); void u_default_transfer_unmap( struct pipe_context *pipe, @@ -63,7 +63,7 @@ struct u_resource_vtbl { struct pipe_transfer *(*get_transfer)(struct pipe_context *, struct pipe_resource *resource, struct pipe_subre
Mesa (master): st/mesa: Remove unnecessary headers.
Module: Mesa Branch: master Commit: 262961ef694d90fd008041c8384014fd7ed45594 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=262961ef694d90fd008041c8384014fd7ed45594 Author: Vinson Lee Date: Mon Mar 22 13:02:09 2010 -0700 st/mesa: Remove unnecessary headers. --- src/mesa/state_tracker/st_atom.c|2 -- src/mesa/state_tracker/st_manager.c |1 - 2 files changed, 0 insertions(+), 3 deletions(-) diff --git a/src/mesa/state_tracker/st_atom.c b/src/mesa/state_tracker/st_atom.c index 9fa4dae..cf391f1 100644 --- a/src/mesa/state_tracker/st_atom.c +++ b/src/mesa/state_tracker/st_atom.c @@ -36,8 +36,6 @@ #include "st_program.h" #include "st_manager.h" -#include "pipe/p_context.h" - /** * This is used to initialize st->atoms[]. diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index 6ec4c8d..ab86ed5 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -40,7 +40,6 @@ #include "main/teximage.h" #include "main/texstate.h" #include "main/texfetch.h" -#include "main/fbobject.h" #include "main/framebuffer.h" #include "main/renderbuffer.h" #include "st_texture.h" ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (gallium-resources): scons: Update file lists after gallium-resources changes.
Module: Mesa Branch: gallium-resources Commit: 9c1162d9d656062a490a529997def3f674cc61fc URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c1162d9d656062a490a529997def3f674cc61fc Author: Michal Krol Date: Mon Mar 22 20:50:49 2010 +0100 scons: Update file lists after gallium-resources changes. --- src/gallium/auxiliary/SConscript|3 +-- src/gallium/drivers/softpipe/SConscript |1 - src/gallium/drivers/svga/SConscript |2 -- 3 files changed, 1 insertions(+), 5 deletions(-) diff --git a/src/gallium/auxiliary/SConscript b/src/gallium/auxiliary/SConscript index 65e1dc8..6988de7 100644 --- a/src/gallium/auxiliary/SConscript +++ b/src/gallium/auxiliary/SConscript @@ -168,9 +168,8 @@ source = [ 'util/u_surface.c', 'util/u_texture.c', 'util/u_tile.c', -'util/u_timed_winsys.c', +'util/u_transfer.c', 'util/u_upload_mgr.c', -'util/u_simple_screen.c', # Disabling until pipe-video branch gets merged in #'vl/vl_bitstream_parser.c', #'vl/vl_mpeg12_mc_renderer.c', diff --git a/src/gallium/drivers/softpipe/SConscript b/src/gallium/drivers/softpipe/SConscript index 9949a53..6bd7e07 100644 --- a/src/gallium/drivers/softpipe/SConscript +++ b/src/gallium/drivers/softpipe/SConscript @@ -7,7 +7,6 @@ softpipe = env.ConvenienceLibrary( source = [ 'sp_fs_exec.c', 'sp_fs_sse.c', - 'sp_buffer.c', 'sp_clear.c', 'sp_context.c', 'sp_draw_arrays.c', diff --git a/src/gallium/drivers/svga/SConscript b/src/gallium/drivers/svga/SConscript index 737b791..ba1b81d 100644 --- a/src/gallium/drivers/svga/SConscript +++ b/src/gallium/drivers/svga/SConscript @@ -39,9 +39,7 @@ sources = [ 'svga_pipe_vertex.c', 'svga_pipe_vs.c', 'svga_screen.c', -'svga_screen_buffer.c', 'svga_screen_cache.c', -'svga_screen_texture.c', 'svga_state.c', 'svga_state_constants.c', 'svga_state_framebuffer.c', ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): glslcompiler: fix build again
Module: Mesa Branch: master Commit: f42acbeebf8267b61d89c0d1be5cb26009a30496 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f42acbeebf8267b61d89c0d1be5cb26009a30496 Author: Brian Paul Date: Mon Mar 22 13:36:27 2010 -0600 glslcompiler: fix build again Simply use the libglapi.a archive instead of individual .o files. Fixes the non-debug build. --- src/mesa/drivers/glslcompiler/Makefile |9 ++--- 1 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/mesa/drivers/glslcompiler/Makefile b/src/mesa/drivers/glslcompiler/Makefile index 1b9a056..7dcf9a6 100644 --- a/src/mesa/drivers/glslcompiler/Makefile +++ b/src/mesa/drivers/glslcompiler/Makefile @@ -9,14 +9,9 @@ PROGRAM = glslcompiler OBJECTS = \ glslcompiler.o \ - ../../glapi/glapi.o \ - ../../glapi/glapi_entrypoint.o \ - ../../glapi/glapi_getproc.o \ - ../../glapi/glapi_dispatch.o \ - ../../glapi/glapi_nop.o \ - ../../glapi/glthread.o \ ../common/driverfuncs.o \ - ../../libmesa.a + ../../libmesa.a \ + ../../libglapi.a INCLUDES = \ -I$(TOP)/include \ ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (gallium-resources): gallium: Do not use `template` for formal parameter names.
Module: Mesa Branch: gallium-resources Commit: af9793ab9e5386b150d6b25c0d1978fdc67172e4 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=af9793ab9e5386b150d6b25c0d1978fdc67172e4 Author: Michal Krol Date: Mon Mar 22 20:04:39 2010 +0100 gallium: Do not use `template` for formal parameter names. --- src/gallium/include/pipe/p_screen.h |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index cc9cebc..8fa648e 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -107,7 +107,7 @@ struct pipe_screen { * Create a new texture object, using the given template info. */ struct pipe_resource * (*resource_create)(struct pipe_screen *, -const struct pipe_resource *template); +const struct pipe_resource *templat); /** * Create a texture from a winsys_handle. The handle is often created in @@ -115,7 +115,7 @@ struct pipe_screen { * texture_get_handle. */ struct pipe_resource * (*resource_from_handle)(struct pipe_screen *, - const struct pipe_resource *template, + const struct pipe_resource *templat, struct winsys_handle *handle); /** ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): cso: Remove unnecessary header.
Module: Mesa Branch: master Commit: 45d1dc26072ea83ee10cf1c8907cfdf5df51928e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=45d1dc26072ea83ee10cf1c8907cfdf5df51928e Author: Vinson Lee Date: Mon Mar 22 11:34:18 2010 -0700 cso: Remove unnecessary header. --- src/gallium/auxiliary/cso_cache/cso_context.c |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/src/gallium/auxiliary/cso_cache/cso_context.c b/src/gallium/auxiliary/cso_cache/cso_context.c index d6f8dd3..6fd4bd3 100644 --- a/src/gallium/auxiliary/cso_cache/cso_context.c +++ b/src/gallium/auxiliary/cso_cache/cso_context.c @@ -39,7 +39,6 @@ #include "util/u_inlines.h" #include "util/u_math.h" #include "util/u_memory.h" -#include "util/u_sampler.h" #include "tgsi/tgsi_parse.h" #include "cso_cache/cso_context.h" ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (7.8): Fix potential compilation issue in visual studio project file
Module: Mesa Branch: 7.8 Commit: 092ca30366d15debb35939205d82a6ac2408fbb9 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=092ca30366d15debb35939205d82a6ac2408fbb9 Author: Karl Schultz Date: Mon Mar 22 12:18:02 2010 -0600 Fix potential compilation issue in visual studio project file Add quotes around filespec in post-build event to allow paths with embedded spaces. --- .../glsl_apps_compile/glsl_apps_compile.vcproj |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/VC8/mesa/glsl_apps_compile/glsl_apps_compile.vcproj b/windows/VC8/mesa/glsl_apps_compile/glsl_apps_compile.vcproj index 8995c03..6e9aef2 100644 --- a/windows/VC8/mesa/glsl_apps_compile/glsl_apps_compile.vcproj +++ b/windows/VC8/mesa/glsl_apps_compile/glsl_apps_compile.vcproj @@ -89,7 +89,7 @@ /> ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): dri/nouveau: Rectangle texture fixes.
Module: Mesa Branch: master Commit: fc14fb9d1a897dbcf750b8158d6cb08388a422c4 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fc14fb9d1a897dbcf750b8158d6cb08388a422c4 Author: Francisco Jerez Date: Mon Mar 22 18:10:25 2010 +0100 dri/nouveau: Rectangle texture fixes. --- src/mesa/drivers/dri/nouveau/nouveau_state.c |1 + src/mesa/drivers/dri/nouveau/nouveau_texture.c | 73 +++- 2 files changed, 46 insertions(+), 28 deletions(-) diff --git a/src/mesa/drivers/dri/nouveau/nouveau_state.c b/src/mesa/drivers/dri/nouveau/nouveau_state.c index 7697090..a57df2d 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_state.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_state.c @@ -232,6 +232,7 @@ nouveau_enable(GLcontext *ctx, GLenum cap, GLboolean state) case GL_TEXTURE_1D: case GL_TEXTURE_2D: case GL_TEXTURE_3D: + case GL_TEXTURE_RECTANGLE: context_dirty_i(ctx, TEX_ENV, ctx->Texture.CurrentUnit); context_dirty_i(ctx, TEX_OBJ, ctx->Texture.CurrentUnit); break; diff --git a/src/mesa/drivers/dri/nouveau/nouveau_texture.c b/src/mesa/drivers/dri/nouveau/nouveau_texture.c index e890186..dbf9a5c 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_texture.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_texture.c @@ -283,7 +283,8 @@ nouveau_texture_validate(GLcontext *ctx, struct gl_texture_object *t) struct nouveau_texture *nt = to_nouveau_texture(t); int i, last = get_last_level(t); - if (!nt->surfaces[last].bo) + if (!teximage_fits(t, t->BaseLevel) || + !teximage_fits(t, last)) return GL_FALSE; if (nt->dirty) { @@ -421,6 +422,40 @@ nouveau_teximage_3d(GLcontext *ctx, GLenum target, GLint level, } static void +nouveau_texsubimage(GLcontext *ctx, GLint dims, GLenum target, GLint level, + GLint xoffset, GLint yoffset, GLint zoffset, + GLint width, GLint height, GLint depth, + GLenum format, GLenum type, const void *pixels, + const struct gl_pixelstore_attrib *packing, + struct gl_texture_object *t, + struct gl_texture_image *ti) +{ + struct nouveau_surface *s = &to_nouveau_teximage(ti)->surface; + int ret; + + pixels = _mesa_validate_pbo_teximage(ctx, dims, width, height, depth, +format, type, pixels, packing, +"glTexSubImage"); + if (pixels) { + nouveau_teximage_map(ctx, ti); + + ret = _mesa_texstore(ctx, 3, ti->_BaseFormat, ti->TexFormat, +ti->Data, xoffset, yoffset, zoffset, +s->pitch, ti->ImageOffsets, +width, height, depth, format, type, +pixels, packing); + assert(ret); + + nouveau_teximage_unmap(ctx, ti); + _mesa_unmap_teximage_pbo(ctx, packing); + } + + if (!to_nouveau_texture(t)->dirty) + validate_teximage(ctx, t, level, xoffset, yoffset, zoffset, + width, height, depth); +} + +static void nouveau_texsubimage_3d(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint width, GLint height, GLint depth, @@ -429,15 +464,9 @@ nouveau_texsubimage_3d(GLcontext *ctx, GLenum target, GLint level, struct gl_texture_object *t, struct gl_texture_image *ti) { - nouveau_teximage_map(ctx, ti); - _mesa_store_texsubimage3d(ctx, target, level, xoffset, yoffset, zoffset, - width, height, depth, format, type, pixels, - packing, t, ti); - nouveau_teximage_unmap(ctx, ti); - - if (!to_nouveau_texture(t)->dirty) - validate_teximage(ctx, t, level, xoffset, yoffset, zoffset, - width, height, depth); + nouveau_texsubimage(ctx, 3, target, level, xoffset, yoffset, zoffset, + width, height, depth, format, type, pixels, + packing, t, ti); } static void @@ -449,15 +478,9 @@ nouveau_texsubimage_2d(GLcontext *ctx, GLenum target, GLint level, struct gl_texture_object *t, struct gl_texture_image *ti) { - nouveau_teximage_map(ctx, ti); - _mesa_store_texsubimage2d(ctx, target, level, xoffset, yoffset, - width, height, format, type, pixels, - packing, t, ti); - nouveau_teximage_unmap(ctx, ti); - - if (!to_nouveau_texture(t)->dirty) - validate_teximage(ctx, t, level, xoffset, yoffset, 0, -
Mesa (master): dri/nouveau: Some render to texture fixes.
Module: Mesa Branch: master Commit: bfdea90f251c1bc3cf4f8096f8c62a37b9ac78c1 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfdea90f251c1bc3cf4f8096f8c62a37b9ac78c1 Author: Francisco Jerez Date: Mon Mar 22 18:28:51 2010 +0100 dri/nouveau: Some render to texture fixes. --- src/mesa/drivers/dri/nouveau/nouveau_fbo.c |6 +- 1 files changed, 1 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/nouveau/nouveau_fbo.c b/src/mesa/drivers/dri/nouveau/nouveau_fbo.c index 2ec3dc9..8be7edb 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_fbo.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_fbo.c @@ -236,7 +236,7 @@ nouveau_render_texture(GLcontext *ctx, struct gl_framebuffer *fb, /* Allocate a renderbuffer object for the texture if we * haven't already done so. */ if (!rb) { - rb = nouveau_renderbuffer_new(ctx, 0); + rb = nouveau_renderbuffer_new(ctx, ~0); assert(rb); rb->AllocStorage = NULL; @@ -259,11 +259,7 @@ static void nouveau_finish_render_texture(GLcontext *ctx, struct gl_renderbuffer_attachment *att) { - struct nouveau_renderbuffer *nrb - = to_nouveau_renderbuffer(att->Renderbuffer); - texture_dirty(att->Texture); - nouveau_surface_ref(NULL, &nrb->surface); } void ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): dri/nouveau: Plug in some mesa_meta functions instead of the swrast variants.
Module: Mesa Branch: master Commit: fc7890dc6c1f70a4f1c4bffb0fca7ae0cde30a2e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fc7890dc6c1f70a4f1c4bffb0fca7ae0cde30a2e Author: Francisco Jerez Date: Mon Mar 22 14:23:40 2010 +0100 dri/nouveau: Plug in some mesa_meta functions instead of the swrast variants. --- src/mesa/drivers/dri/nouveau/nouveau_driver.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/nouveau/nouveau_driver.c b/src/mesa/drivers/dri/nouveau/nouveau_driver.c index 1d12f43..19daef1 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_driver.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_driver.c @@ -135,4 +135,7 @@ nouveau_driver_functions_init(struct dd_function_table *functions) functions->Flush = nouveau_flush; functions->Finish = nouveau_finish; functions->Clear = nouveau_clear; + functions->DrawPixels = _mesa_meta_DrawPixels; + functions->CopyPixels = _mesa_meta_CopyPixels; + functions->Bitmap = _mesa_meta_Bitmap; } ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): dri/nouveau: Expose EXT_framebuffer_blit.
Module: Mesa Branch: master Commit: fe7d0e6dc81c493b9ff7163c640d75db25386675 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe7d0e6dc81c493b9ff7163c640d75db25386675 Author: Francisco Jerez Date: Mon Mar 22 18:21:13 2010 +0100 dri/nouveau: Expose EXT_framebuffer_blit. --- src/mesa/drivers/dri/nouveau/nouveau_context.c |1 + src/mesa/drivers/dri/nouveau/nouveau_driver.c |1 + 2 files changed, 2 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c index deb7b5b..42bec65 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_context.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c @@ -54,6 +54,7 @@ static const struct dri_extension nouveau_extensions[] = { { "GL_ARB_texture_env_dot3",NULL }, { "GL_ARB_texture_mirrored_repeat", NULL }, { "GL_EXT_fog_coord", GL_EXT_fog_coord_functions }, + { "GL_EXT_framebuffer_blit",NULL }, { "GL_EXT_framebuffer_object", GL_EXT_framebuffer_object_functions }, { "GL_EXT_secondary_color", GL_EXT_secondary_color_functions }, { "GL_EXT_stencil_wrap",NULL }, diff --git a/src/mesa/drivers/dri/nouveau/nouveau_driver.c b/src/mesa/drivers/dri/nouveau/nouveau_driver.c index 19daef1..4ec864c 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_driver.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_driver.c @@ -138,4 +138,5 @@ nouveau_driver_functions_init(struct dd_function_table *functions) functions->DrawPixels = _mesa_meta_DrawPixels; functions->CopyPixels = _mesa_meta_CopyPixels; functions->Bitmap = _mesa_meta_Bitmap; + functions->BlitFramebuffer = _mesa_meta_BlitFramebuffer; } ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): dri/nouveau: Fix swrast fallbacks when the read and draw buffers aren't the same.
Module: Mesa Branch: master Commit: 199fab25b7cb047c0d7ac26ee12df3b2e1369723 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=199fab25b7cb047c0d7ac26ee12df3b2e1369723 Author: Francisco Jerez Date: Mon Mar 22 18:25:30 2010 +0100 dri/nouveau: Fix swrast fallbacks when the read and draw buffers aren't the same. --- src/mesa/drivers/dri/nouveau/nouveau_span.c | 30 ++- 1 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/mesa/drivers/dri/nouveau/nouveau_span.c b/src/mesa/drivers/dri/nouveau/nouveau_span.c index f1a56dd..1bfdecc 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_span.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_span.c @@ -32,7 +32,6 @@ #include "swrast/swrast.h" #define LOCAL_VARS \ - struct gl_framebuffer *fb = ctx->DrawBuffer;\ struct nouveau_surface *s = &to_nouveau_renderbuffer(rb)->surface; \ GLuint p; \ (void)p; @@ -45,12 +44,12 @@ #define HW_CLIPLOOP() { \ int minx = 0; \ int miny = 0; \ - int maxx = fb->Width; \ - int maxy = fb->Height; + int maxx = rb->Width; \ + int maxy = rb->Height; #define HW_ENDCLIPLOOP() } -#define Y_FLIP(y) (fb->Name ? (y) : rb->Height - 1 - (y)) +#define Y_FLIP(y) (rb->Name ? (y) : rb->Height - 1 - (y)) /* RGB565 span functions */ #define SPANTMP_PIXEL_FMT GL_RGB @@ -144,17 +143,28 @@ texture_unit_map_unmap(GLcontext *ctx, struct gl_texture_unit *u, GLboolean map) } static void -span_map_unmap(GLcontext *ctx, GLboolean map) +framebuffer_map_unmap(struct gl_framebuffer *fb, GLboolean map) { int i; - for (i = 0; i < ctx->DrawBuffer->_NumColorDrawBuffers; i++) - renderbuffer_map_unmap(ctx->DrawBuffer->_ColorDrawBuffers[i], map); + for (i = 0; i < fb->_NumColorDrawBuffers; i++) + renderbuffer_map_unmap(fb->_ColorDrawBuffers[i], map); + + renderbuffer_map_unmap(fb->_ColorReadBuffer, map); + + if (fb->_DepthBuffer) + renderbuffer_map_unmap(fb->_DepthBuffer->Wrapped, map); +} + +static void +span_map_unmap(GLcontext *ctx, GLboolean map) +{ + int i; - renderbuffer_map_unmap(ctx->DrawBuffer->_ColorReadBuffer, map); + framebuffer_map_unmap(ctx->DrawBuffer, map); - if (ctx->DrawBuffer->_DepthBuffer) - renderbuffer_map_unmap(ctx->DrawBuffer->_DepthBuffer->Wrapped, map); + if (ctx->ReadBuffer != ctx->DrawBuffer) + framebuffer_map_unmap(ctx->ReadBuffer, map); for (i = 0; i < ctx->Const.MaxTextureUnits; i++) texture_unit_map_unmap(ctx, &ctx->Texture.Unit[i], map); ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): dri/nouveau: Emit dirty states on nouveau_validate_framebuffer.
Module: Mesa Branch: master Commit: c695e80017373caf6e8d7139b8d3df2d945ccce5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c695e80017373caf6e8d7139b8d3df2d945ccce5 Author: Francisco Jerez Date: Mon Mar 22 14:15:52 2010 +0100 dri/nouveau: Emit dirty states on nouveau_validate_framebuffer. Fixes broken intermediate frames when a window is being resized (regression caused by 878eef8c4). --- src/mesa/drivers/dri/nouveau/nouveau_context.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c index be57d48..deb7b5b 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_context.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c @@ -337,6 +337,8 @@ nouveau_validate_framebuffer(GLcontext *ctx) update_framebuffer(dri_ctx, dri_read, &dri_ctx->dri2.read_stamp); - if (nouveau_next_dirty_state(ctx) >= 0) + if (nouveau_next_dirty_state(ctx) >= 0) { + nouveau_state_emit(ctx); FIRE_RING(context_chan(ctx)); + } } ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): nvfx: fix sampler views support
Module: Mesa Branch: master Commit: 4e3b950c70721b826c712636d37197dd5a76b910 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4e3b950c70721b826c712636d37197dd5a76b910 Author: Luca Barbieri Date: Mon Mar 22 18:36:16 2010 +0100 nvfx: fix sampler views support The code was half converted, resulting in texturing being totally broken. --- src/gallium/drivers/nvfx/nv30_fragtex.c |2 +- src/gallium/drivers/nvfx/nv40_fragtex.c |2 +- src/gallium/drivers/nvfx/nvfx_context.h |1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/nvfx/nv30_fragtex.c b/src/gallium/drivers/nvfx/nv30_fragtex.c index 2b56f45..54e4757 100644 --- a/src/gallium/drivers/nvfx/nv30_fragtex.c +++ b/src/gallium/drivers/nvfx/nv30_fragtex.c @@ -91,7 +91,7 @@ struct nouveau_stateobj * nv30_fragtex_build(struct nvfx_context *nvfx, int unit) { struct nvfx_sampler_state *ps = nvfx->tex_sampler[unit]; - struct nvfx_miptree *nv30mt = nvfx->tex_miptree[unit]; + struct nvfx_miptree *nv30mt = (struct nvfx_miptree *)nvfx->fragment_sampler_views[unit]->texture; struct pipe_texture *pt = &nv30mt->base; struct nouveau_bo *bo = nouveau_bo(nv30mt->buffer); struct nv30_texture_format *tf; diff --git a/src/gallium/drivers/nvfx/nv40_fragtex.c b/src/gallium/drivers/nvfx/nv40_fragtex.c index 5889b5e..05506e2 100644 --- a/src/gallium/drivers/nvfx/nv40_fragtex.c +++ b/src/gallium/drivers/nvfx/nv40_fragtex.c @@ -109,7 +109,7 @@ struct nouveau_stateobj * nv40_fragtex_build(struct nvfx_context *nvfx, int unit) { struct nvfx_sampler_state *ps = nvfx->tex_sampler[unit]; - struct nvfx_miptree *nv40mt = nvfx->tex_miptree[unit]; + struct nvfx_miptree *nv40mt = (struct nvfx_miptree *)nvfx->fragment_sampler_views[unit]->texture; struct nouveau_bo *bo = nouveau_bo(nv40mt->buffer); struct pipe_texture *pt = &nv40mt->base; struct nv40_texture_format *tf; diff --git a/src/gallium/drivers/nvfx/nvfx_context.h b/src/gallium/drivers/nvfx/nvfx_context.h index 001b19e..ab7225c 100644 --- a/src/gallium/drivers/nvfx/nvfx_context.h +++ b/src/gallium/drivers/nvfx/nvfx_context.h @@ -158,7 +158,6 @@ struct nvfx_context { struct pipe_buffer *idxbuf; unsigned idxbuf_format; struct nvfx_sampler_state *tex_sampler[PIPE_MAX_SAMPLERS]; - struct nvfx_miptree *tex_miptree[PIPE_MAX_SAMPLERS]; struct pipe_sampler_view *fragment_sampler_views[PIPE_MAX_SAMPLERS]; unsigned nr_samplers; unsigned nr_textures; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): 25 new commits
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=98b4e7aee83c7874db0ea23f632851b6fb5ba62a Author: Brian Paul Date: Mon Mar 22 09:08:09 2010 -0600 glslcompiler: fix build breakage URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=182c42c8da6edfa66819eef02f4dea310c1f68d7 Merge: 5cb4a3524b54480418b4c4717c4a0f0a8669939c ca97f8b9bab80844be613a9253643b7da8e738c7 Author: Brian Paul Date: Mon Mar 22 09:07:46 2010 -0600 Merge branch '7.8' Conflicts: src/gallium/drivers/cell/ppu/cell_screen.c src/mesa/state_tracker/st_cb_drawpixels.c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca97f8b9bab80844be613a9253643b7da8e738c7 Author: Brian Paul Date: Mon Mar 22 09:00:13 2010 -0600 glslcompiler: fix build breakage URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=361e8e911886784407c7aff91e09b9b2bfd5cde8 Author: Pauli Nieminen Date: Mon Mar 22 15:14:16 2010 +0200 mesa: Add end of line to the end of a debug output. URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fce72d58036eb8a993bda1a7c5d74b8fcc819a8c Author: Vinson Lee Date: Sun Mar 21 19:21:11 2010 -0700 progs/tests: Add cva_huge to SCons build. URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e7d65bb5b50efbd5812e7996910b7688eb27192 Author: Vinson Lee Date: Sun Mar 21 19:09:54 2010 -0700 progs/tests: Include stddef.h for ptrdiff_t on all platforms. stddef.h is the standard C header that defines ptrdiff_t. Fixes build of cva_huge on Mac OS X. URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ea694a26b99835d0b5bc814cf024850874a9a83 Author: Pauli Nieminen Date: Sun Mar 21 23:23:21 2010 +0200 r200: Fix emit size prediction to account elt splitting. Emit sizes prediction didn't account for render splitting in hwtnl path. URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0900544fb54cbc2127b8729393c9c1308cd218f9 Author: Pauli Nieminen Date: Sun Mar 21 22:55:13 2010 +0200 r200: Don't flush when closing elts in KMS. Flush in middle of rendering in KMS is not allowed because buffers are discarded in flush. Fixes crash when emiting split indices with RADEON_DEBUG=all. URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1968d8f31d0ac83557c9366dea39b15e92bb1516 Author: Pauli Nieminen Date: Sun Mar 21 20:16:17 2010 +0200 r200: Fix swtnl fallback to flush pending rendering before transition. Flush after transition would emit wrong state that could cause wrong state emited for pending rendering operation. Fixes wan once from extrement tuxracer that is using per vertex materials. URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=44e3ec3c05f0806f0940887ed9e30d94bf0748e0 Author: Pauli Nieminen Date: Sun Mar 21 20:02:10 2010 +0200 r200: Fix mixed indetion in r200TclFallback. URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a7acbccfbc061322be493633d5c5bf4afd302b5 Author: Pauli Nieminen Date: Sun Mar 21 12:42:10 2010 +0200 vbo: Fix vbo_split_copy to pass correct max_index to draw. vbo_split_copy was passing one past the max_index to draw function which caused _tnl_draw_prims function to read uninitialized values from copied array. Bug was spoted in valgrind report of progs/tests/cva_huge. URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a81cd67a4f37233319281a69385f07feaa97fd13 Author: Pauli Nieminen Date: Sun Mar 21 13:11:47 2010 +0200 tests: Add test for huge client arrays that has to be split. When running this test case in valgrind report includes read of unitialized value in _tnl_draw_prims. The bug doesn't cause any vissible errors. Bug is caused by vbo_split_copy that is calling draw function with max_index one past the end instead of the end. URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d72c4ae78cfdad7d160b0960adb792c863b Author: Marek Olšák Date: Sat Mar 20 18:31:11 2010 +0100 r300/compiler: fix assertion failure in the r500-fragprog emission path URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0491c945cb5d10ef1c45f4e28e874dffba8be4b Author: Brian Paul Date: Sat Mar 20 10:33:10 2010 -0600 docs: remove the 'Last updated date' URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6fed3a9fa0a87ae797f995de5b51eb9be3493fe0 Author: Chia-I Wu Date: Sat Mar 20 23:58:15 2010 +0800 glapi: Fix aliases to non-static functions. The bug is triggered by 41a87a43e11c664935349f938022d58d3e22da4e. glBlitFramebuffer, for example, is an alias to the non-static glBlitFramebufferEXT. We should define glBlitFramebuffer as an alias to _dispatch_stub_NNN. URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=41a87a43e11c664935349f938022d58d3e22da4e Author: Chia-I Wu Date: Thu Mar 18 11:36:57 2010 +0800 glapi: Correctly generate static disatches for
Mesa (7.8): glslcompiler: fix build breakage
Module: Mesa Branch: 7.8 Commit: ca97f8b9bab80844be613a9253643b7da8e738c7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca97f8b9bab80844be613a9253643b7da8e738c7 Author: Brian Paul Date: Mon Mar 22 09:00:13 2010 -0600 glslcompiler: fix build breakage --- src/mesa/drivers/glslcompiler/Makefile |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/glslcompiler/Makefile b/src/mesa/drivers/glslcompiler/Makefile index 080fe47..d340498 100644 --- a/src/mesa/drivers/glslcompiler/Makefile +++ b/src/mesa/drivers/glslcompiler/Makefile @@ -10,9 +10,10 @@ PROGRAM = glslcompiler OBJECTS = \ glslcompiler.o \ ../../glapi/glapi.o \ + ../../glapi/glapi_getproc.o \ + ../../glapi/glapi_dispatch.o \ ../../glapi/glapi_nop.o \ ../../glapi/glthread.o \ - ../../main/dispatch.o \ ../common/driverfuncs.o \ ../../libmesa.a ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): mesa: remove return, do as the comment says
Module: Mesa Branch: master Commit: 5cb4a3524b54480418b4c4717c4a0f0a8669939c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5cb4a3524b54480418b4c4717c4a0f0a8669939c Author: Brian Paul Date: Mon Mar 22 08:23:14 2010 -0600 mesa: remove return, do as the comment says --- src/mesa/main/bufferobj.c |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index dbaba29..1854b98 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -1475,7 +1475,6 @@ _mesa_GetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) return; default: ; /* fall-through */ - return; } invalid_pname: ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (7.8): mesa: Add end of line to the end of a debug output.
Module: Mesa Branch: 7.8 Commit: 361e8e911886784407c7aff91e09b9b2bfd5cde8 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=361e8e911886784407c7aff91e09b9b2bfd5cde8 Author: Pauli Nieminen Date: Mon Mar 22 15:14:16 2010 +0200 mesa: Add end of line to the end of a debug output. --- src/mesa/main/matrix.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c index 5c863f6..4b8c00b 100644 --- a/src/mesa/main/matrix.c +++ b/src/mesa/main/matrix.c @@ -322,7 +322,7 @@ _mesa_LoadIdentity( void ) ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); if (MESA_VERBOSE & VERBOSE_API) - _mesa_debug(ctx, "glLoadIdentity()"); + _mesa_debug(ctx, "glLoadIdentity()\n"); _math_matrix_set_identity( ctx->CurrentStack->Top ); ctx->NewState |= ctx->CurrentStack->DirtyFlag; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit