Commit Graph

14334 Commits

Author SHA1 Message Date
Ben Skeggs dcf04ee23c Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 2008-03-23 14:18:06 +11:00
Brian a35c1ca3ad gallium: fix a few more shader-related mem leaks 2008-03-22 10:29:30 -06:00
Brian f8acc3965e use ctx->Driver.DeleteProgram() in a few more places 2008-03-22 10:27:55 -06:00
Brian dae7993afc gallium: free samplers, textures in destroy() 2008-03-22 09:42:59 -06:00
Brian 2f8f6c2918 gallium: remove temporary _screen suffix from function names 2008-03-22 09:15:23 -06:00
Brian 0b60ade834 gallium: fix a few mem leaks when deleting programs 2008-03-22 09:12:52 -06:00
Brian 28b3b07895 gallium: fix mem leak (fee pstipple stage) 2008-03-22 09:12:27 -06:00
Brian f73cfd9e5c delete default programs with ctx->Driver.DeleteProgram() 2008-03-22 09:12:02 -06:00
José Fonseca 4e977fb35b gallium: Remove pedantic asserts.
Move these to a higher level instead.
2008-03-22 10:59:52 +00:00
Ian Romanick 47531442e9 cell: Generate blend / depth test code when state atom is created
Code generation should be performed when the device-specific state
atom is created, not when it is bound.
2008-03-21 15:57:01 -07:00
Ian Romanick 600499cf88 cell: Change code-gen for CONST_COLOR blend factor
Previously the constant color blend factor was compiled into the
generated code.  This meant that the code had to be regenerated each
time the constant color was changed.  This doesn't fit with the model
used in Gallium.

As-is, the code could be better.  The constant color is loaded for
every quad processed, even if it is not used.  Also, if a lot of (1-x)
blend factors are used, 1.0 will be loaded and reloaded into registers
many times.
2008-03-21 15:57:01 -07:00
Ian Romanick f140062b72 Tabs to spaces 2008-03-21 15:57:01 -07:00
Ian Romanick 2902c164a2 cell: Remove unnecessary default_blend work-around
I suspect that there was some other bug in the blend code-gen that
made this work-around necessary.
2008-03-21 15:57:01 -07:00
Brian fb1f4e207d gallium: fix const buffer update bug
If only glUniform is called between two renderings, the const buffers weren't
getting updated.  Need to set the _NEW_PROGRAM flag in st_upload_constants()
as that's the dirty flag set by glUniform.
Fixes glean tapi2 test.
2008-03-21 15:54:27 -06:00
Brian a39091bc5b Refactor PBO validate/map code.
We always need to do PBO validation, so do that in core Mesa before calling driv
er routine.
cherry-picked from Mesa/master.
2008-03-21 14:20:07 -06:00
Brian Paul f1626f0bfd gallium: implement PBO operations for glDraw/ReadPixels and glBitmap
At this time there are no optimizations for directly blitting between
buffer objects and surfaces (always go through mappings).
glean pbo test passes now
2008-03-21 13:44:27 -06:00
Brian Paul ff938bf059 add a number of PBO validate/map/unmap functions
Helper functions for (some) drivers, including swrast.
cherry-picked from Mesa/master
2008-03-21 13:43:07 -06:00
Brian c80a380ebb Fix some PBO breakage.
In _mesa_Bitmap, can't early return if bitmap ptr is NULL, it may be an offset
into a PBO.  Similarly for _mesa_GetTexImage.
2008-03-21 12:32:48 -06:00
Brian b70a6babfb i915: added to-do note about setting the max_lod register to get proper min/mag filter selection 2008-03-21 11:10:42 -06:00
Brian Paul 74525d474c mesa: minor code re-org 2008-03-21 11:06:52 -06:00
Brian Paul 3600e7402c gallium: use is_format_supported(PIPE_FORMAT_DXT5_RGBA) to check if s3tc is supported
The PIPE_CAP_S3TC token will be deprecated.
2008-03-21 11:06:52 -06:00
Brian Paul 4394736252 gallium: added DXT formats (preliminary, will probably change) 2008-03-21 11:06:52 -06:00
Brian Paul 13540d38d9 gallium: use is_format_supported() to determine if GL_EXT_texture_sRGB is supported 2008-03-21 11:06:52 -06:00
Brian Paul 419248b528 gallium: document is_format_supported()'s type param 2008-03-21 11:06:52 -06:00
Brian Paul a472e3558e gallium: PIPE_FORMAT_TYPE_ comments 2008-03-21 11:06:52 -06:00
Brian Paul ad62644290 gallium: added sRGB formats 2008-03-21 11:06:51 -06:00
Brian Paul 403c7ba91a gallium: additional comments, fix typos, etc 2008-03-21 11:06:51 -06:00
Ben Skeggs 75b85fd33a nv40: fix bug in query code 2008-03-21 23:24:16 +11:00
Michel Dänzer 23c98f618b gallium: Update scons build for state tracker files added/removed. 2008-03-21 12:14:06 +00:00
Ben Skeggs 3be8785e08 nv40: add 16-bit SSCALED vb formats 2008-03-21 23:09:01 +11:00
Ben Skeggs 3a0dd2e6d1 nv40: ensure vb relocs don't end up on list for swtnl
Avoids bo code bailing out because of mapped buffers being validated.
2008-03-21 23:03:25 +11:00
Ben Skeggs 19b57690ad nv40: call semi-magic 0x1d88 method 2008-03-21 22:28:18 +11:00
Ben Skeggs 308d7b1711 nv40: swtnl fallback on unsupported array format 2008-03-21 22:09:29 +11:00
Ben Skeggs 0c91f5991d nv40: oops 2008-03-21 22:02:49 +11:00
Ben Skeggs 46b8dd9c16 nv40: s/free/FREE/ 2008-03-21 22:01:22 +11:00
Ben Skeggs 3216287139 nv40: align each level to 64 pixels 2008-03-21 21:58:17 +11:00
Ben Skeggs ebde8d3a12 nv40: use num_cbufs 2008-03-21 21:18:16 +11:00
Ben Skeggs 1a4dcde808 nouveau: do a retry if initial buffer alloc fails 2008-03-21 18:28:07 +11:00
Ben Skeggs 83e94189c4 nouveau: use saved fence pointer, not head of unsignalled list
It's possible for the unsignalled list head to change during fence_flush.
Fixes valgrind complaint exposed by a previous commit.
2008-03-21 18:17:12 +11:00
Ben Skeggs 735ecf5de8 nouveau: potentially delay buffer destruction
Rather than spinning waiting for the GPU to finish with the buffer,
add a callback on the buffer's fence object instead.  Gives a sizable
performance increase in OA.
2008-03-21 17:40:01 +11:00
Ben Skeggs 5d2577e576 nouveau: try combining prev and next resources on free
Fixes some cases where we end up with a list of many unused chunks that are
too small to be useful.
2008-03-21 17:38:24 +11:00
Ben Skeggs 95e8cad9a3 nv40: use new pipe_framebuffer width/height fields 2008-03-21 12:57:05 +11:00
Ben Skeggs 85108e5f8f Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 2008-03-21 12:54:34 +11:00
Ian Romanick cab68957c7 cell: Fix several bugs in blend code-gen
- Alpha factor set to a _COLOR mode was mishandled
- Cases when either dst factor or src factor was ZERO were mishandled
- MIN and MAX cases were backwards
- Case when blend was disabled was mishandled
- Incorrect comments about number of instructions generated

The tests blendminmax and blendsquare run correctly.
2008-03-20 18:17:48 -07:00
Ian Romanick 4b9520fc05 cell: Call the correct function to generate blending code
Cut-and-paste for the lose. :(
2008-03-20 17:37:26 -07:00
Ian Romanick df1d6e2410 cell: Fix bus error when there is no depth buffer 2008-03-20 17:37:26 -07:00
Ian Romanick 2b21bde3b1 cell: Use code-gen for alpha blend
So far this is only tested when GL_BLEND is disabled.
2008-03-20 17:37:26 -07:00
Brian Paul 3b3774b122 gallium: catch some out of memory conditions in the texture image code.
st_finalize_texture()'s return code now indicates success/fail instead of
presence of texture border (which we discard earlier).
2008-03-20 17:08:07 -06:00
Brian 0565e6888a gallium: set fb.width/height 2008-03-20 15:22:20 -06:00
Brian 00cf178d93 gallium: enable vp input semantic info 2008-03-20 15:21:55 -06:00