summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker
AgeCommit message (Collapse)Author
2010-02-03mesa: Factor out the fb initialization details from _mesa_new_framebuffer.Francisco Jerez
This should make things easier for drivers wanting to work with a "subclass" of gl_framebuffer. The complementary "_mesa_initialize_framebuffer" function is now called "_mesa_initialize_window_framebuffer" for the sake of symmetry. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-02-03mesa/st: bump the gallium version numberKeith Whitwell
This is a very informal version number, but there have been enough changes that a bump is appropriate at this time.
2010-02-03st/mesa: remove some floating point divides in viewport calculationKeith Whitwell
Compiler can't usually turn x/2.0f into x * 0.5f, though we're happy with either.
2010-02-01st/mesa: fix texture deallocation bugBrian Paul
This fixes a bug reported by Christoph Bumiller on mesa3d-dev. When a texture is first created as RGBA, then re-defined with glTexImage(internalFormat=GL_DEPTH_COMPONENT) we failed to deallocate the original texture. When this texture was bound as a FBO surface, the depth/Z surface format was RGBA instead of Z. Depending on the driver this led to a failed assertion or FBO validation failure. This patch does three things: 1. Remove ancient code that mysteriously tested if we were replacing the smallest mipmap level and tested if the texture was not a cube map texture. I can't see any reason for those tests. 2. Move the width=height=depth=0 test to after the code which frees texture data. Calling glTexImage with width=height=depth=0 and data=NULL is a way to free a single mipmap level. 3. Update the code comments. There are no apparent conform, glean or piglit regressions from this change. (cherry picked from commit 43e4b584227534e30e487e7fb7e99d6501cbcd85)
2010-02-01st/mesa: remove duplicate calculation of fp input mappingKeith Whitwell
This was being calculated the same way in two different places. Now just do it in st_translate_fragment_program().
2010-02-01st/mesa: remove dead stfp input_map arrayKeith Whitwell
Was being calculated and not used. Also was probably incorrect...
2010-01-31st/mesa: Remove unnecessary headers.Vinson Lee
2010-01-29Merge commit 'lb2/arb_fragment_coord_conventions'Keith Whitwell
2010-01-29st/mesa: check that state is validated before drawingBrian Paul
(cherry picked from commit 4d1234e22242529c8d85f5ef0cf826af41a91570) Conflicts: src/mesa/state_tracker/st_draw.c
2010-01-29st/mesa: Gallium support for ARB_fragment_coord_conventions (v4)Luca Barbieri
Changes in v4; - Implemented Brian Paul's style suggestions Changes in v3: - Use positive caps instead of negative ones Changes in v2: - Updated formatting The state tracker will use the TGSI convention properties if the hardware exposes the appropriate capability, and otherwise adjust WPOS itself. This will also fix some drivers that were previously broken due to their incorrect, inadvertent, use of conventions other than upper_left+half_integer.
2010-01-28Merge commit 'origin/perrtblend'Roland Scheidegger
Conflicts: src/gallium/drivers/softpipe/sp_screen.c src/gallium/include/pipe/p_defines.h
2010-01-28gallium: Enable multiple constant buffers for vertex and geometry shaders.Michal Krol
2010-01-26st/mesa: Silence uninitialized variable warning.Vinson Lee
2010-01-26mesa/st: code cleanups for new blend functionalityRoland Scheidegger
minor code changes, style and comment fixes
2010-01-25Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/intel/intel_screen.c src/mesa/drivers/dri/intel/intel_swapbuffers.c src/mesa/drivers/dri/r300/r300_emit.c src/mesa/drivers/dri/r300/r300_ioctl.c src/mesa/drivers/dri/r300/r300_tex.c src/mesa/drivers/dri/r300/r300_texstate.c
2010-01-25st/mesa: handle EXT_draw_buffers2 per rendertarget blend enables / colormasksRoland Scheidegger
uses the new gallium per-rt blend functionality
2010-01-25Fix compressed texture loads for non-minimal pitches againLuca Barbieri
My commit eea6a7639f767b1d30b6ef1f91a9c49e3f3b78f0 does a memcpy of height lines, but that's wrong because the texture has a block layout and we must thus use the number of vertical blocks instead of the height. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-01-24st/mesa: fix int->uint conversion for negative scissor bound valuesBrian Paul
Based on a patch by Xavier Chantry <chantry.xavier@gmail.com>: If x+width or y+height is negative, then maxx or maxy will get a bogus value when converting that to unsigned. Fix this by setting 0 as minimal value. This was also triggered by teeworlds, but only with some combination of resolution and map section. For example upper part of dm2 at 1280x1024.
2010-01-24st/mesa: fix unsigned/signed breakage in scissorXavier Chantry
commit 53174afeeb introduced a portability change that converted GLint x,y to GLuint. That breaks when x and y are negative, which seems to be allowed, and which at least one game uses : teeworlds. Rather than simply reverting the change, it seems possible to convert the 16bit unsigned to GLint so that comparisons are made between signed integers instead. This hopefully does not break anything while keeping MSVC happy. Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com> Signed-off-by: Brian Paul <brianp@vmware.com>
2010-01-22st/mesa: fix incorrect freeing of drawpixels vertex shadersBrian Paul
These shaders are not st_vertex_shaders, but tgsi ureg shaders. Fixes fd.o bug 25959.
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
2010-01-21st/mesa: Remove unnecessary header from st_cb_viewport.c.Vinson Lee
2010-01-21mesa: Use pipe_buffer_write_nooverlap where appropriate.José Fonseca
2010-01-20gallium: prepare for per-rendertarget blend enables, writemasks, blend funcsRoland Scheidegger
GL 3.0 (EXT_draw_buffers2) and other APIs allow independent blend enables and write masks per render target, ARB_draw_buffers_blend (and other APIs) also allow independent blend functions. Things like dithering, logic ops however are not extended to be per rendertarget, that might be conceptually possible however it doesn't look like any API wants to expose this.
2010-01-20st/mesa: fix format logic in compatible_src_dst_formats()Brian Paul
We need to consider the user-requested formats, not the actual device- chosen formats. See code comments for more details.
2010-01-20Merge remote branch 'origin/opengl-es-v2'Chia-I Wu
2010-01-19st/mesa: enable EXT_framebuffer_multisampleMarek Olšák
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-01-19st/dri: update dri2 drawables when viewport is changedBen Skeggs
Fixes gnome-shell on nouveau, as well as window resize with various other applications. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-01-18mesa: Handle PIPE_FORMAT_B8G8R8X8_UNORM.José Fonseca
2010-01-18st/mesa: change instruction count assertion to > 0Brian Paul
Shaders should at least have an END instruction.
2010-01-18st/mesa: updated comments and whitespaceBrian Paul
2010-01-18st/mesa: fix memory leak in st_translate_mesa_programMarcin Slusarz
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-01-15Merge branch 'gallium-noconstbuf'Roland Scheidegger
Conflicts: src/gallium/drivers/softpipe/sp_draw_arrays.c src/mesa/state_tracker/st_draw_feedback.c
2010-01-15st/mesa: Initialise vertex element instance divisor to 0.Michal Krol
2010-01-16st/mesa: Remove unnecessary header from st_cb_drawpixels.c.Vinson Lee
2010-01-16st/mesa: Remove unnecessary header from st_atom_framebuffer.c.Vinson Lee
2010-01-16st/mesa: Remove unnecessary header from st_atom_pixeltransfer.c.Vinson Lee
2010-01-16st/mesa: Remove unnecessary header from st_atom_sampler.c.Vinson Lee
2010-01-16st/mesa: Remove unnecessary header from st_atom_shader.c.Vinson Lee
2010-01-16st/mesa: Remove unnecessary headers from st_cb_accum.c.Vinson Lee
2010-01-16st/mesa: Remove unnecessary headers from st_cb_bitmap.c.Vinson Lee
2010-01-15st/mesa: Remove unnecessary headers from st_cb_blit.c.Vinson Lee
2010-01-15st/mesa: Remove unnecessary headers from st_cb_clear.c.Vinson Lee
2010-01-15st/mesa: Remove unnecessary headers from st_cb_drawpixels.c.Vinson Lee
2010-01-15st/mesa: Remove unnecessary header from st_cb_fbo.c.Vinson Lee
2010-01-15st/mesa: Remove unnecessary headers from st_cb_feedback.c.Vinson Lee
2010-01-15st/mesa: Remove unnecessary header from st_cb_program.c.Vinson Lee
2010-01-15st/mesa: Remove unnecessary header from st_cb_queryobj.c.Vinson Lee
2010-01-14st/mesa: Remove unnecessary header from st_cb_rasterpos.c.Vinson Lee
2010-01-14st/mesa: Remove unnecessary headers from st_cb_readpixels.c.Vinson Lee