Commit graph

21588 commits

Author SHA1 Message Date
Brian Paul
4f6b704f97 mesa: move the NullBufferObj from GLcontext to gl_shared_state
Since shared array objects may point to the null/default buffer object,
the null/default buffer object should be part of the shared state.
2009-05-07 14:34:09 -06:00
Brian Paul
105c8529e7 mesa: fix comments, s/texture/buffer/ 2009-05-07 14:34:09 -06:00
Brian Paul
f37cccde3c vbo: in glDraw[Range]Element() code, check for out of bounds indexes
No-op the bad drawing command rather than go out of bounds and render
garbage.  Print a warning to alert the developer to the bad drawing call.
2009-05-07 11:01:02 -06:00
Brian Paul
6359ecebec mesa: remove unused gl_buffer_object::OnCard field 2009-05-07 10:12:33 -06:00
Brian Paul
dcca97a3e3 mesa: added gl_buffer_object::Written flag (for debug purposes)
The flag is set when we data has been written into the buffer object.
2009-05-07 10:12:33 -06:00
Brian Paul
b9d0f947f2 mesa: Compute gl_client_array->_MaxElement during array validation
Used to be done in the glVertex/Normal/Color/etc/Pointer() calls but
if the VBO was reallocated the size could change.
New _NEW_BUFFER_OBJECT state flag.
2009-05-07 10:12:33 -06:00
Brian Paul
800b14cd37 mesa: GLvector4f:: flags is a GLbitfield, update comments too. 2009-05-07 10:12:33 -06:00
Brian Paul
1f75c2daea mesa: add storage_count field to GLvector4f. Useful for debugging. 2009-05-07 10:12:33 -06:00
Brian Paul
828aa76f36 mesa: use array->BufferObj instead of ctx->Array.ArrayBufferObj
No difference, but a little more understandable.
2009-05-07 10:12:33 -06:00
Brian Paul
0077c879b5 mesa: added _ElementSize field to gl_client_array
Will be handy for bounds checking later...
2009-05-07 10:12:33 -06:00
Brian Paul
a6c8e900af mesa: use local var to make code a bit more concise 2009-05-07 10:12:33 -06:00
Brian Paul
b102c1d8f9 mesa: fix/add comments 2009-05-07 10:12:33 -06:00
Brian Paul
7e3bd457e8 mesa: use _mesa_sizeof_type() in vbo split code 2009-05-07 10:12:33 -06:00
Brian Paul
3acdab82cb mesa: vbo code reformatting, clean-up, comments 2009-05-07 10:12:33 -06:00
Brian Paul
87ba2285fe mesa: add GL_DOUBLE case in _mesa_sizeof_type() 2009-05-07 10:12:32 -06:00
Brian Paul
2369f14245 mesa: in vbo split code, map buffers read-only, not write-only
And use GL_ELEMENT_ARRAY_BUFFER where appropriate.
2009-05-07 10:12:32 -06:00
Brian Paul
74bec42b45 mesa: limit number of error raised by invalid GL_TEXTURE_MAX_ANISOTROPY_EXT 2009-05-07 10:12:32 -06:00
Brian Paul
ad32489987 tnl: added some clip debug/print code (disabled) 2009-05-07 10:12:32 -06:00
Brian Paul
424507953c mesa: reformatting, updated comments, const-correctness 2009-05-07 10:12:32 -06:00
Brian Paul
134ac52dec tnl: replace 0x3f with CILP_FRUSTUM_BITS 2009-05-07 10:12:32 -06:00
Brian Paul
f56893ea17 i965: relAddr local var (to make debug/test a little easier) 2009-05-07 09:59:13 -06:00
Brian Paul
9a4890dac7 Merge branch 'mesa_7_5_branch' 2009-05-07 09:46:53 -06:00
Brian Paul
6a3004b9ae swrast: fix span clipping bug
If a horizontal span of pixels was located at x < 0 we could sometimes
read/write outside of renderbuffer bounds.
2009-05-07 09:43:15 -06:00
Brian Paul
cc71704644 mesa: unmap buffer objects during context tear-down 2009-05-07 09:36:21 -06:00
Eric Anholt
3d048e5750 i965: Remove bad constant buffer constant-reg-already-loaded optimization.
Thanks to branching, the state of c->current_const[i].index at the point
of emitting constant loads for this instruction may not match the actual
constant currently loaded in the reg at runtime.  Fixes a regression in my
GLSL program for idr's class since b58b3a786a.
2009-05-06 21:44:13 -07:00
Eric Anholt
156a79f5bd intel: Unmap buffers if needed at DeleteBuffer time.
This fixes a crash in glean's pbo test, which tripped over the assert when a
context was destroyed while a buffer was still mapped (Mesa doesn't call
UnmapBuffer in that case).  Regression in
c6bde8873f
2009-05-06 20:44:34 -07:00
Owen W. Taylor
cfc3ac8d6e When clearing the stencil buffer, don't use a two-sided stencil
In radeon_clear_tris(), when clearing the stencil buffer,
pass GL_FRONT_AND_BACK to _mesa_StencilFuncSeparate(), to avoid
triggering a software fallback on r300 and below.

https://bugs.freedesktop.org/show_bug.cgi?id=21601
2009-05-06 17:10:06 -04:00
Brian Paul
58544a28ad mesa: remove unnecessary buffer size check 2009-05-06 12:38:35 -06:00
Brian Paul
bb1fb2a544 mesa: code consolidation in glDraw[Range]Elements() validation 2009-05-06 12:38:35 -06:00
Brian Paul
88af3f8783 mesa: new comments, minor reformatting 2009-05-06 12:38:35 -06:00
Brian Paul
a13df193c2 mesa: use elementBuf local var instead of ctx->Array.ElementArrayBufferObj
Makes no real difference, but more consistant.
2009-05-06 12:38:35 -06:00
Eric Anholt
f831d2d41b i965: Remove the forced lack of caching for renderbuffer surface state.
This snuck in with the multi-draw-buffers commit, and is a major penalty
to performance.  It doesn't appear to be required, as the only dependency
the surface BO has is on the state key (and if there's some other dependency,
it should just be in the key).

This brings openarena performance up to almost 2% faster than Mesa 7.4.
2009-05-06 10:54:32 -07:00
Eric Anholt
4cb87840ff i965: Remove _NEW_PROGRAM from brw_wm_surfaces setup dependencies.
This was a leftover from the brw_wm_constant_buffer change.
2009-05-06 10:54:32 -07:00
Brian Paul
9b678af796 mesa: be smarter about allocating vert/frag program constants
Try to re-use constants/literals more often to make best use of the
constant buffer space.

See bug 21354.
2009-05-06 08:53:41 -06:00
Eric Anholt
71fb9d62ec i965: Split WM constant buffer update from other WM surfaces.
This can avoid re-uploading constant data when it isn't necessary, and is
a step towards not updating other surfaces just because constants change.
It also brings the upload of the constant buffer next to the creation.

This brings openarena performance up another 4%, to 91% of the Mesa 7.4 branch.
2009-05-06 06:44:14 -07:00
Eric Anholt
9490d86808 i965: Disentangle VS constant surface state from WM surface state.
Also, only create VS surface state if there's a VS constant buffer to be
uploaded, and set the contents of the buffer at the same time as creation.
2009-05-06 06:44:14 -07:00
Eric Anholt
d277547dc6 i965: Don't create constant buffers if they won't be used.
Really, the creation and upload of constants should be in the same place,
since they should only happen together, and a state flag should be
triggered by them so that we don't thrash state around so much for just
updating constants.  But this still recovers openarena performance by
another 19%, leaving us 16% behind Mesa 7.4 branch.
2009-05-06 06:44:13 -07:00
Dave Airlie
7f65fea95e radeon: hopefully fixup radeon cube state emission for kms 2009-05-06 14:43:07 +10:00
Dave Airlie
d7f62e5405 r100/r200: try and allocate miptree correct for hw.
This doesn't make things worse but according to sroland it
is how the GPU hw expects things on the r100/r200
2009-05-06 14:06:13 +10:00
Dave Airlie
acf086ebfa r200: fix cubic emission.
Still doesn't fix cubemaps, I really missed the whole drmsupports
thing when testing this all originally
2009-05-06 13:34:34 +10:00
Brian Paul
51325f44d1 mesa: only use fallback texture when using shaders, not fixed-function (take two)
The semantics are a little different for shaders vs. fixed-function when
trying to use an incomplete texture.  The fallback texture returning
(0,0,0,1) should only be used with shaders.  For fixed function, the texture
unit is truly disabled/ignored.

Fixes glean fbo test regression.
2009-05-05 16:31:44 -06:00
Brian Paul
823815a485 Revert "mesa: only use fallback texture when using shaders, not fixed-function"
This reverts commit a0edbfb28f.

This patch didn't completely fix the problem.  The next patch will.
2009-05-05 16:30:30 -06:00
Brian Paul
a0edbfb28f mesa: only use fallback texture when using shaders, not fixed-function
The semantics are a little different for shaders vs. fixed-function when
trying to use an incomplete texture.  The fallback texture returning
(0,0,0,1) should only be used with shaders.

Fixes glean fbo test regression.
2009-05-05 16:29:04 -06:00
Brian Paul
01e16befd4 mesa: only use fallback texture when using shaders, not fixed-function
The semantics are a little different for shaders vs. fixed-function when
trying to use an incomplete texture.  The fallback texture returning
(0,0,0,1) should only be used with shaders.

Fixes glean fbo test regression.
2009-05-05 16:21:20 -06:00
Brian Paul
c0d3761c16 mesa: minor simplification in enable_texture(), updated comments 2009-05-05 16:17:55 -06:00
Roland Scheidegger
5f8381724e r200: fix some cube map issues
remove the r100-ism of swapping cube faces which doesn't apply to r200,
and also use precalculated offsets.
Note that cube textures will still not work on r100 and r200 since mipmap
layout is level-first order (for r300) whereas r100/r200 require
face-first (and possibly also 2k alignment for face at least with tiling).
2009-05-05 21:01:36 +02:00
Roland Scheidegger
3503af07c4 r200: fix another section size mismatch 2009-05-05 20:17:37 +02:00
Brian Paul
b3fc832ac7 Merge branch 'mesa_7_5_branch' 2009-05-05 10:13:13 -06:00
Brian Paul
95b7771ea7 gallium: remove redundant cube face #defines 2009-05-05 10:13:11 -06:00
Brian Paul
79ada8c633 gallium: fix texcoords for cubemap mipmap generation
We need to use (s,t,r) cubemap coords when sampling from the cubemap texture
so the rendered quad gets texture samples from the correct cube face.
2009-05-05 10:11:51 -06:00