mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
t_dd_dmatmp: Pull out common 'count -= count & 3' code
This was missing in the HAVE_TRIANGLES path, and that could cause incorrect rendering. No piglit regressions on i915 (G33) or radeon (Radeon 7500). Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38109 Reviewed-by: Brian Paul <brianp@vmware.com> Cc: Marius Predut <marius.predut@intel.com> Cc: "10.6 11.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
0d475ee2b9
commit
c0b3b2f760
1 changed files with 6 additions and 9 deletions
|
|
@ -542,6 +542,9 @@ static void TAG(render_quads_verts)( struct gl_context *ctx,
|
|||
GLuint count,
|
||||
GLuint flags )
|
||||
{
|
||||
/* Emit whole number of quads in total. */
|
||||
count -= count & 3;
|
||||
|
||||
if (HAVE_QUADS) {
|
||||
LOCAL_VARS;
|
||||
int dmasz = (GET_SUBSEQUENT_VB_MAX_VERTS()/4) * 4;
|
||||
|
|
@ -550,11 +553,6 @@ static void TAG(render_quads_verts)( struct gl_context *ctx,
|
|||
|
||||
INIT(GL_QUADS);
|
||||
|
||||
/* Emit whole number of quads in total. dmasz is already a multiple
|
||||
* of 4.
|
||||
*/
|
||||
count -= count & 3;
|
||||
|
||||
currentsz = (GET_CURRENT_VB_MAX_VERTS()/4) * 4;
|
||||
if (currentsz < 8)
|
||||
currentsz = dmasz;
|
||||
|
|
@ -584,7 +582,6 @@ static void TAG(render_quads_verts)( struct gl_context *ctx,
|
|||
/* Emit whole number of quads in total, and in each buffer.
|
||||
*/
|
||||
dmasz -= dmasz & 3;
|
||||
count -= count & 3;
|
||||
currentsz -= currentsz & 3;
|
||||
|
||||
/* Adjust for rendering as triangles:
|
||||
|
|
@ -1070,6 +1067,9 @@ static void TAG(render_quads_elts)( struct gl_context *ctx,
|
|||
GLuint count,
|
||||
GLuint flags )
|
||||
{
|
||||
/* Emit whole number of quads in total. */
|
||||
count -= count & 3;
|
||||
|
||||
if (HAVE_QUADS) {
|
||||
LOCAL_VARS;
|
||||
GLuint *elts = TNL_CONTEXT(ctx)->vb.Elts;
|
||||
|
|
@ -1082,8 +1082,6 @@ static void TAG(render_quads_elts)( struct gl_context *ctx,
|
|||
|
||||
currentsz = GET_CURRENT_VB_MAX_ELTS()/4*4;
|
||||
|
||||
count -= count & 3;
|
||||
|
||||
if (currentsz < 8)
|
||||
currentsz = dmasz;
|
||||
|
||||
|
|
@ -1106,7 +1104,6 @@ static void TAG(render_quads_elts)( struct gl_context *ctx,
|
|||
/* Emit whole number of quads in total, and in each buffer.
|
||||
*/
|
||||
dmasz -= dmasz & 3;
|
||||
count -= count & 3;
|
||||
currentsz -= currentsz & 3;
|
||||
|
||||
/* Adjust for rendering as triangles:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue