summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2008-04-09gallium: more elaborate tracking of front color buffer stateBrian Paul
This fixes the case where the app calls SwapBuffers then calls glReadPixels to read the front color buffer. We now keep track of when the front buffer is a _logically_ copy of the back buffer (after SwapBuffers) and read from the back color buffer instead of the front.
2008-04-09gallium: more flush/finish changesBrian Paul
New, separate is_front_buffer_dirty() function.
2008-04-09gallium: reorder funcsBrian Paul
2008-04-09gallium: call_flush_front_buffer() from st_glFinish()Brian Paul
2008-04-09gallium: fold st_gl_flush() into st_glFlush()Brian Paul
2008-04-09gallium: refactor code, new flush_front_buffer() functionBrian Paul
2008-04-09gallium: remove unneeded st->haveFramebufferSurfaces field.Brian Paul
2008-04-08gallium: Fix up scons build.Michel Dänzer
2008-04-07gallium: check ctx->DrawBuffer before flushing bitmap cache.Brian Paul
During context unbind, we may not have a draw buffer. This fixes demos/tunnel2.c
2008-04-07gallium: fix the texture case in default_deep_rgba_format()Brian Paul
Fixes glean pixelFormat test
2008-04-07gallium: slightly improved accum clear/mad operationsBrian Paul
Instead of get/put_tile(), map the buffer and operate on values directly.
2008-04-07gallium: accum buffer fixesBrian Paul
If the driver can't create a PIPE_FORMAT_R16G16B16A16_SNORM surface, create an accum surface using a shallower format and taller height. Since only the accum buffer code accesses the surface the actual format doesn't really matter, just that there's enough memory.
2008-04-07gallium: remove stray commentBrian Paul
2008-04-07gallium: clean-up in st_renderbuffer_alloc_storage()Brian Paul
2008-04-07mesa: call _mesa_remove_varying_reads() after compiling vertex shadersBrian
2008-04-07mesa: new _mesa_remove_varying_reads() functionBrian
We'll apply this function to GLSL vertex programs. In GLSL it's legal to read and write varying (output) vars in a vertex shader. But reading from an output register isn't supported by all hardware. This routine examines the vertex program for that condition and rewrites it to use temporary registers where needed.
2008-04-07mesa: added _mesa_insert_instructions()Brian
Also, use new _mesa_free_instructions() in a few places.
2008-04-07mesa: added _mesa_free_instructions()Brian
2008-04-04mesa: no longer combine vertex/fragment shader parameters/uniformsBrian
GLSL Vertex and fragment shaders now have independent parameter buffers. A new gl_uniform_list is used to keep track of program uniforms and where each uniform is located in each shader's parameter buffer. This makes better use of the space in each buffer and simplifies shader linking.
2008-04-04mesa: new functions for managing list/index of uniformsBrian
2008-04-04gallium: always pass size=4 to make_immediate()Brian
Mesa always packs 4 immediates into each parameter/const buffer slot. I think we were just getting lucky with this as it was.
2008-04-04gallium: adjust the code in update_textures() to look more like ↵Brian
update_samplers()
2008-04-04gallium: state tracker fixes for compressed texturesRoland Scheidegger
2008-04-04gallium: add new call to st_flush_bitmap_cache() to fix recent regressionBrian Paul
2008-04-04gallium: make sure to set the SamplersUsed field for bitmap/drawpixels shadersBrian Paul
Also, make sure that field is copied/updated in the program clone and combine functions. Without this we weren't getting SAMP declarations in the TGSI shaders.
2008-04-04gallium: Revert st_gl_flush() changes from when the **fence argument was added.Michel Dänzer
As st_gl_flush() isn't used by st_finish() anymore, it doesn't have to make sure pipe->flush() always gets called.
2008-04-04gallium: Call st_flush() instead of st_gl_flush() in st_finish().Michel Dänzer
This is enough for the current purpose of st_finish(), which is to wait for things to settle down before context teardown.
2008-04-04Alias glStencilOpSeparateATI with glStencilOpSeparate.Brian
2008-04-04Finish up ATI_separate_stencilBrian
Add entrypoints to glapi XML file and regenerate files. Implement glStencilOpSeparateATI(). Consolidate some code in stencil.c
2008-04-04add missing _mesa_StencilFuncSeparateATI functionRoland Scheidegger
2008-04-04gallium: fix two-side stencil handlingRoland Scheidegger
Previously all drivers were in twosided mode since they checked for stencil.enable[1] flag which was a copy of stencil.enable[0]. Note that drivers should not reference stencil[1] state (other than the enable) if twosided stenciling is disabled (for now the stencil state is still copied but for instance clear_with_quads won't provide useful values in there). Also, use _TestTwoSide instead of TestTwoSide since results would be bogus otherwise if using APIs with implicit two side stencil enable (i.e. core ogl 2.0).
2008-04-04gallium: Always allocate new const buffers instead of modifying existing ones.Michel Dänzer
2008-04-03gallium: test if PIPE_FORMAT_YCBCR[_REV] is supported and enable ↵Brian
GL_MESA_ycbcr_texture Update texture format selection code too.
2008-04-03gallium: set rasterizer.gl_rasterization_rules = 1 in a few more placesBrian
2008-04-03gallium: streamline viewport/raster/shader state for clearing with quadsBrian Paul
Move init of these items to new st_init_clear().
2008-04-03gallium: include st_cb_bitmap.h to silence warningBrian Paul
2008-04-03gallium: remove the temporary/test TEST_DRAW_PASSTHROUGH codeBrian Paul
2008-04-03gallium: use identity viewport fix broken clear_with_quad() pathBrian Paul
Since bypass_clipping is set and we're specifying quad vertexes in window coords, setup identity viewport.
2008-04-03gallium: call st_flush_bitmap_cache()Brian Paul
2008-04-03gallium: set gl_rasterization_rulesBrian Paul
2008-04-02gallium: add a flag to turn on gl rasterization rulesKeith Whitwell
Use this to set up hardware rasterization (if your hardware can do it) or otherwise turn on various tweaks in the draw module. Currently only hooked up to point biasing code.
2008-04-02gallium: add temporary facility for rasterization-time clamping of point sizesKeith Whitwell
2008-04-01gallium: init ctx->Const.MaxTextureUnitsBrian
2008-04-01handle IsPositionInvariant flagBen Skeggs
2008-04-01gallium: Fencing fix.Michel Dänzer
Make sure the struct pipe_fence_handle* we point st_flush() to is initialized to NULL, so winsys->fence_reference() doesn't try to unreference a random struct pipe_fence_handle* pointer.
2008-03-31gallium: used inverted bitmap texture to simplify the fragment shader.Brian
"Off" bits get stored as texel=0xff and "on" bits get stored as texel=0x0. Then use KIL -tmp to kill the off bits and keep the on bits. This shortens the fragment program by two instructions.
2008-03-31fix parsing bug involving comments at the end of ARB v/f programsMarkus Amsler
2008-03-31gallium: use cso_save/restore_sampler_textures() functionsBrian
2008-03-31gallium: set the bypass_vs flag nowBrian
The glBitmap vertex shader is a no-op, but we still have to specify it in order to convey the number of inputs/outputs.
2008-03-31gallium: turn on clipping for bitmapsBrian
Bitmaps can extend beyond window edges so we need to clip. Also, move some state atom vars to st_context to be a bit more efficient.