summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker
AgeCommit message (Collapse)Author
2009-12-11Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/state_trackers/xorg/xorg_xv.c src/mesa/drivers/dri/intel/intel_span.c
2009-12-09mesa: Move OES_read_format support from drivers into the core.Eric Anholt
The assertion is that the correct read type to be using is the native type of the underlying read renderbuffer. For some fallback paths, this may be worse than GL_RGBA/GL_UNSIGNED_BYTE for reads today, but it gets all drivers the expected GL_BGRA/GL_UNSIGNED_BYTE for ARGB8888 or GL_BGR//GL_UNSIGNED_SHORT_5_6_5_REV for rgb565 with no work. This fixes the intel (and other) DRI drivers to report read formats that should hit blit PBO readpixels paths.
2009-12-08Merge branch 'gallium-strict-aliasing'Roland Scheidegger
2009-12-08gallium: fix more potential strict aliasing issuesRoland Scheidegger
In particular, gcc man page warns that union a_union { int i; double d; }; int f() { double d = 3.0; return ((union a_union *) &d)->i; } "might" not be ok (why not?), even though it doesn't seem to generate any warnings. Hence don't use this and do the extra step to actually use assignment to get the values in/out of the union. This changes parts of 3456f9149b3009fcfce80054759d05883d3c4ee5.
2009-12-07gallium/util: fix util_color_[un]pack[-ub] to be strict aliasing safeRoland Scheidegger
use pointer to union instead of void pointer. gcc complained a lot, depending what the pointer originally actually was. Looks like it's in fact maybe legal to cast for instance uint pointers to union pointers as long as union contains a uint type, hence use this with some callers, other just use union util_color in the first place.
2009-12-07st/mesa: remove debug codeBrian Paul
2009-12-07st/mesa: negate DDY to match GL semanticsBrian Paul
This fixes the regression from commit 884007546c98b1779bf266ec5111b1e7e2b68b2e Fixes bug 25456 (piglit derivs regression).
2009-12-07st/mesa: fix up commentBrian Paul
2009-12-05st/mesa: Prefer alpha-less formats for RGB textures.Michel Dänzer
This can e.g. increase the chance of being able to accelerate glCopyTex(Sub)Image from an alpha-less renderbuffer.
2009-12-04Merge branch 'gallium-noblocks'Roland Scheidegger
Conflicts: src/gallium/state_trackers/xorg/xorg_exa.c
2009-12-02Merge branch 'mesa_7_7_branch'Jakob Bornecrantz
2009-12-01st/mesa: updated emit_swz() commentBrian Paul
2009-12-01mesa: Update vertex texture code after gallium changes.Michal Krol
2009-12-01st: Update for renamed sampler/texture state setters.Michal Krol
2009-11-30gallium: interface cleanups, remove nblocksx/y from pipe_texture and moreRoland Scheidegger
This patch removes nblocksx, nblocksy arrays from pipe_texture (can be recalculated if needed). Furthermore, pipe_format_block struct is gone completely (again, contains just derived state). nblocksx, nblocksy, block are also removed from pipe_transfer, together with the format enum (can be obtained from the texture associated with the transfer).
2009-11-30st/mesa: handle front/back-face +1/-1 vs. 1/0 conversionBrian Paul
Fixes progs/glsl/twoside.c demo.
2009-11-27Merge branch 'width0'Roland Scheidegger
Conflicts: src/gallium/drivers/r300/r300_texture.c src/gallium/state_trackers/xorg/xorg_exa.c src/mesa/state_tracker/st_cb_texture.c
2009-11-26gallium: fix more statetrackers/drivers for not using texture ↵Roland Scheidegger
width/height/depth arrays
2009-11-26Merge commit 'origin/st-shader-varients'Roland Scheidegger
Conflicts: src/mesa/state_tracker/st_atom_shader.c src/mesa/state_tracker/st_program.c
2009-11-19gallium: don't use arrays for texture width,height,depthKeith Whitwell
2009-11-19st/mesa: replace st_flush() with pipe->flush()Brian Paul
We only need to flush the gallium driver in this case. Fixes a recursive state validation bug.
2009-11-19st/mesa: get rid of compressed_num_bytes() codeBrian Paul
2009-11-19st/mesa: remove is_compressed_mesa_format()Brian Paul
2009-11-19st/mesa: remove pointless assertionBrian Paul
2009-11-17Merge branch 'outputswritten64'Ian Romanick
Add a GLbitfield64 type and several macros to operate on 64-bit fields. The OutputsWritten field of gl_program is changed to use that type. This results in a fair amount of fallout in drivers that use programs. No changes are strictly necessary at this point as all bits used are below the 32-bit boundary. Fairly soon several bits will be added for clip distances written by a vertex shader. This will cause several bits used for varyings to be pushed above the 32-bit boundary. This will affect any drivers that support GLSL. At this point, only the i965 driver has been modified to support this eventuality. I did this as a "squash" merge. There were several places through the outputswritten64 branch where things were broken. I foresee this causing difficulties later for bisecting. The history is still available in the branch. Conflicts: src/mesa/drivers/dri/i965/brw_wm.h
2009-11-17mesa: fix assorted compiler warningsBrian Paul
2009-11-15st/mesa: comments for st_draw.cBrian Paul
2009-11-15mesa/st: refactor vertex and fragment shader translationKeith Whitwell
Translate vertex shaders independently of fragment shaders. Previously tried to make fragment shader semantic indexes always start at zero and exclude holes. This was unnecessary but meant that vertex shader translation had to be adjusted to take this into account. Now use a fixed scheme for labelling special FS input semantics (color, etc), and another fixed scheme for the generics. With this, vertex shaders can be translated independently of the bound fragment shader, assuming mesa has done its own job and ensured that the vertex shader provides at least the inputs the fragment shader is looking for. The state-tracker didn't attempt to do anything about this previously, so it shouldn't be needed now.
2009-11-15mesa/st: emit tgsi vertex shader directly for drawpixelsKeith Whitwell
One of several cases where we build mesa shaders and then translate them to tgsi. Many of those cases it's because we're combining two mesa programs and there are helpers for that, but in this case at least can go straight to tgsi.
2009-11-15mesa/st: don't calculate unused output_flags data eitherKeith Whitwell
2009-11-15mesa/st: don't calculate unused input_flags dataKeith Whitwell
2009-11-15mesa/st: don't calculate unused vs input semantic tagsKeith Whitwell
2009-11-06mesa: Export S3_s3tc as well.José Fonseca
Used in Quake3.
2009-11-06mesa: Translate MAP_UNSYNCHRONIZED_BIT.José Fonseca
2009-11-03Merge branch 'mesa_7_6_branch'Brian Paul
2009-11-03st/mesa: clip pixels in draw_stencil_pixels to avoid crashMarek Olšák
Signed-off-by: Brian Paul <brianp@vmware.com>
2009-11-03st/mesa: don't use util_blit_pixels_writemask() for depth or depth/stencilBrian Paul
util_blit_pixels_writemask() only works for color formats at this time. Also, it might never work for depth/stencil surfaces since we can't get handle stencil values in a fragment shader. Fixes glCopyTexSubImage(GL_DEPTH_COMPONENT).
2009-11-03st/mesa: fix tests for depth and depth/stencil texture formatsBrian Paul
2009-10-29mesa: Add MESA_FORMAT_Z24_X8.José Fonseca
2009-10-29st/mesa: fix PIPE_FORMAT_X8Z24 <> MESA_FORMAT_X8_Z24 conversionDavid Heidelberger
Signed-off-by: David Heidelberger <d.okias@gmail.com> Signed-off-by: Brian Paul <brianp@vmware.com>
2009-10-29st/mesa: Add conversion from PIPE_FORMAT_X8Z24_UNORM to MESA_FORMAT_S8_Z24.David Heidelberger
Fix glxgears and openarena for Nouveau (no more asserts and crash). Signed-off-by: David Heidelberger <d.okias@gmail.com Signed-off-by: Brian Paul <brianp@vmware.com>
2009-10-29st/mesa: Fix nouveau glxinfo after merging texformat-rework.David Heidelberger
Signed-off-by: David Heidelberger <d.okias@gmail.com> Signed-off-by: Brian Paul <brianp@vmware.com>
2009-10-29mesa: Fix compilation errors and warnings when features are disabled.Chia-I Wu
Some of the fixes are cherry-picked from opengl-es branch. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-10-28Merge branch 'texformat-rework'Brian Paul
Conflicts: src/mesa/drivers/dri/radeon/radeon_fbo.c src/mesa/drivers/dri/s3v/s3v_tex.c src/mesa/drivers/dri/s3v/s3v_xmesa.c src/mesa/drivers/dri/trident/trident_context.c src/mesa/main/debug.c src/mesa/main/mipmap.c src/mesa/main/texformat.c src/mesa/main/texgetimage.c
2009-10-28mesa/st: fix crash in st_texture_image_copyMarek Olšák
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2009-10-25mesa: choose texture format in core mesa, not driversBrian Paul
Call the ctx->Driver.ChooseTextureFormat() function from core Mesa's _mesa_[Copy]TexImage functions instead of in the driver functions. One less thing for drivers to do.
2009-10-25mesa: remove _mesa_compressed_row_stride() callsBrian Paul
2009-10-24mesa: remove ctx->Driver.CompressedTextureSize() hookBrian Paul
It always just called _mesa_compressed_texture_size() anyway.
2009-10-24mesa: change compressed texture size callsBrian Paul
Replace calls to ctx->Driver.CompressedTextureSize with calls to _mesa_format_image_size. The former always called the later.
2009-10-23gallium: remove the swizzling parts of ExtSwizzleKeith Whitwell
These haven't been used by the mesa state tracker since the conversion to tgsi_ureg, and it seems that none of the other state trackers are using it either. This helps simplify one of the biggest suprises when starting off with TGSI shaders.