summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote branch 'origin/master' into pipe-videoChristian König2011-04-23262-12425/+15193
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configs/linux-dri src/gallium/drivers/r600/r600_pipe.c src/gallium/drivers/r600/r600_state.c src/gallium/include/pipe/p_format.h src/gallium/tests/graw/fragment-shader/frag-abs.sh src/gallium/tests/graw/fragment-shader/frag-add.sh src/gallium/tests/graw/fragment-shader/frag-cb-1d.sh src/gallium/tests/graw/fragment-shader/frag-cb-2d.sh src/gallium/tests/graw/fragment-shader/frag-dp3.sh src/gallium/tests/graw/fragment-shader/frag-dp4.sh src/gallium/tests/graw/fragment-shader/frag-dst.sh src/gallium/tests/graw/fragment-shader/frag-ex2.sh src/gallium/tests/graw/fragment-shader/frag-face.sh src/gallium/tests/graw/fragment-shader/frag-flr.sh src/gallium/tests/graw/fragment-shader/frag-frc.sh src/gallium/tests/graw/fragment-shader/frag-kil.sh src/gallium/tests/graw/fragment-shader/frag-lg2.sh src/gallium/tests/graw/fragment-shader/frag-lit.sh src/gallium/tests/graw/fragment-shader/frag-lrp.sh src/gallium/tests/graw/fragment-shader/frag-mad-immx.sh src/gallium/tests/graw/fragment-shader/frag-mad.sh src/gallium/tests/graw/fragment-shader/frag-max.sh src/gallium/tests/graw/fragment-shader/frag-min.sh src/gallium/tests/graw/fragment-shader/frag-mov.sh src/gallium/tests/graw/fragment-shader/frag-mul.sh src/gallium/tests/graw/fragment-shader/frag-rcp.sh src/gallium/tests/graw/fragment-shader/frag-rsq.sh src/gallium/tests/graw/fragment-shader/frag-sge.sh src/gallium/tests/graw/fragment-shader/frag-slt.sh src/gallium/tests/graw/fragment-shader/frag-srcmod-abs.sh src/gallium/tests/graw/fragment-shader/frag-srcmod-absneg.sh src/gallium/tests/graw/fragment-shader/frag-srcmod-neg.sh src/gallium/tests/graw/fragment-shader/frag-srcmod-swz.sh src/gallium/tests/graw/fragment-shader/frag-sub.sh src/gallium/tests/graw/fragment-shader/frag-tempx.sh src/gallium/tests/graw/fragment-shader/frag-xpd.sh src/gallium/tests/graw/vertex-shader/vert-abs.sh src/gallium/tests/graw/vertex-shader/vert-add.sh src/gallium/tests/graw/vertex-shader/vert-arl.sh src/gallium/tests/graw/vertex-shader/vert-arr.sh src/gallium/tests/graw/vertex-shader/vert-cb-1d.sh src/gallium/tests/graw/vertex-shader/vert-cb-2d.sh src/gallium/tests/graw/vertex-shader/vert-dp3.sh src/gallium/tests/graw/vertex-shader/vert-dp4.sh src/gallium/tests/graw/vertex-shader/vert-dst.sh src/gallium/tests/graw/vertex-shader/vert-ex2.sh src/gallium/tests/graw/vertex-shader/vert-flr.sh src/gallium/tests/graw/vertex-shader/vert-frc.sh src/gallium/tests/graw/vertex-shader/vert-lg2.sh src/gallium/tests/graw/vertex-shader/vert-lit.sh src/gallium/tests/graw/vertex-shader/vert-lrp.sh src/gallium/tests/graw/vertex-shader/vert-mad.sh src/gallium/tests/graw/vertex-shader/vert-max.sh src/gallium/tests/graw/vertex-shader/vert-min.sh src/gallium/tests/graw/vertex-shader/vert-mov.sh src/gallium/tests/graw/vertex-shader/vert-mul.sh src/gallium/tests/graw/vertex-shader/vert-rcp.sh src/gallium/tests/graw/vertex-shader/vert-rsq.sh src/gallium/tests/graw/vertex-shader/vert-sge.sh src/gallium/tests/graw/vertex-shader/vert-slt.sh src/gallium/tests/graw/vertex-shader/vert-srcmod-abs.sh src/gallium/tests/graw/vertex-shader/vert-srcmod-absneg.sh src/gallium/tests/graw/vertex-shader/vert-srcmod-neg.sh src/gallium/tests/graw/vertex-shader/vert-srcmod-swz.sh src/gallium/tests/graw/vertex-shader/vert-sub.sh src/gallium/tests/graw/vertex-shader/vert-xpd.sh src/gallium/tools/trace/dump.py src/gallium/tools/trace/format.py src/gallium/tools/trace/model.py src/gallium/tools/trace/parse.py
| * scons: Build classic mesa gdi driver.José Fonseca2011-04-236-115/+52
| | | | | | | | | | | | Build as scons platform=windows mesagdi
| * osmesa: Fix Mingw build.José Fonseca2011-04-231-16/+1
| | | | | | | | | | | | Build as scons platform=windows osmesa
| * scons: Build osmesa.José Fonseca2011-04-233-0/+108
| | | | | | | | | | | | Just type scons osmesa
| * mesa/vf: Remove.José Fonseca2011-04-235-2257/+0
| | | | | | | | Unused. Probably replaced by translate module.
| * r300/compiler: fix up error messageMarek Olšák2011-04-221-2/+2
| |
| * swrast: fix readpix clampingMarek Olšák2011-04-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Broken with e5c6a92a12b5cd7db205d72039f58d302b0be9d5. (ARB_color_buffer_float) Clamping should occur if type != float, otherwise the MSBs of the resulting pixels are killed off. For example, reading back LUMINANCE = R+G+B can be greater than 0xff, but the result is naturally masked by 0xff for UNSIGNED_BYTE, leading to bogus results. The following bug report seems to want clamping to occur if type == half_float too. Not sure what's correct. Bug: [bisected pineview] oglc case pxconv-read failed https://bugs.freedesktop.org/show_bug.cgi?id=35852 Tested by: Fang Xun <[email protected]> Reviewed-and-tested-by: Ian Romanick <[email protected]>
| * i915: Gut all remaining bits of hardware fogIan Romanick2011-04-214-107/+13
| | | | | | | | | | | | | | | | | | | | | | None of this ever gets used. Fog is always calculated by a fragment program. Even though the fixed-function fog unit is never used, state updates are still sent to the hardware. Removing those spurious state updates can't hurt performance. Reviewed-by: Eric Anholt <[email protected]> Acked-by: Corbin Simpson <[email protected]> Acked-by: Alex Deucher <[email protected]>
| * i915: i915_context::vertex_fog is always I915_FOG_NONE, so kill itIan Romanick2011-04-213-8/+1
| | | | | | | | | | | | Reviewed-by: Eric Anholt <[email protected]> Acked-by: Corbin Simpson <[email protected]> Acked-by: Alex Deucher <[email protected]>
| * i915: There's always a fragment programIan Romanick2011-04-211-26/+5
| | | | | | | | | | | | | | | | | | | | Fragment programs are generated by core Mesa for fixed-function. Because of this, there's no reason to handle cases where there is no fragment program for fog. Reviewed-by: Eric Anholt <[email protected]> Acked-by: Corbin Simpson <[email protected]> Acked-by: Alex Deucher <[email protected]>
| * i915: Delete disabled try_pixel_fog pathsIan Romanick2011-04-211-55/+0
| | | | | | | | | | | | Reviewed-by: Eric Anholt <[email protected]> Acked-by: Corbin Simpson <[email protected]> Acked-by: Alex Deucher <[email protected]>
| * mesa: Kill gl_fragment_program::FogOption with fireIan Romanick2011-04-217-37/+31
| | | | | | | | | | | | | | | | | | | | | | | | All drivers expect this to always be GL_NONE. Don't let there be any opportunity for a bad value to leak out and infect some unsuspecting driver. If any driver for hardware that had fixed-function per-fragment fog (i915 and perhaps some r300-ish) was ever going to add support, it would have done it by now. Reviewed-by: Eric Anholt <[email protected]> Acked-by: Corbin Simpson <[email protected]> Acked-by: Alex Deucher <[email protected]>
| * i915: gl_fragment_program::FogOption is always GL_NONE so don't check itIan Romanick2011-04-212-11/+2
| | | | | | | | | | | | Reviewed-by: Eric Anholt <[email protected]> Acked-by: Corbin Simpson <[email protected]> Acked-by: Alex Deucher <[email protected]>
| * i965: gl_fragment_program::FogOption is always GL_NONE so don't check itIan Romanick2011-04-211-5/+0
| | | | | | | | | | | | Reviewed-by: Eric Anholt <[email protected]> Acked-by: Corbin Simpson <[email protected]> Acked-by: Alex Deucher <[email protected]>
| * mesa: gl_fragment_program::FogOption is always GL_NONE so don't check itIan Romanick2011-04-212-19/+8
| | | | | | | | | | | | Reviewed-by: Eric Anholt <[email protected]> Acked-by: Corbin Simpson <[email protected]> Acked-by: Alex Deucher <[email protected]>
| * mesa: Fix bugs in ff fragment shader fog handlingIan Romanick2011-04-211-19/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes two bugs related to fog in the fixed-function fragment shader generation code. Fog was only lowered to instructions if MRTs were used. The fragment shader assembler always lowers "fog option" code to instructions, and many drivers (e.g., r300) expect this. When fog lowering did happen, it was after the instruction count was checked against implementation limits. Since fog lowering may add up to 5 instructions, a program that was below the limits before lowering may exceed the limits after lowering. NOTE: This is a candidate for the stable branches. Reviewed-by: Eric Anholt <[email protected]> Acked-by: Corbin Simpson <[email protected]> Acked-by: Alex Deucher <[email protected]>
| * st/mesa: check image size before copy_image_data_to_texture()Brian Paul2011-04-211-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | We should only copy images into the dest texture if the size is correct. This fixes a failed assertion when finalizing a texture with mis-defined mipmap levels such as: level 0: 32x32 level 1: 8x8 Also, fix incorrect mipmap level used in assertion at the top of copy_image_data_to_texture(). NOTE: This is a candidate for the 7.10 branch.
| * st/mesa: implement CopyBufferSubData using resource_copy_regionMarek Olšák2011-04-211-19/+4
| | | | | | | | Reviewed-by: Jakob Bornecrantz <[email protected]>
| * i965: Remove dead vertex buffer structs.Kenneth Graunke2011-04-201-25/+0
| | | | | | | | We do this OUT_BATCH-style in brw_draw_upload.c.
| * mesa: fix void pointer arithmetic warningBrian Paul2011-04-201-2/+2
| |
| * intel: Add support for ARB_color_buffer_float.Eric Anholt2011-04-209-10/+28
| | | | | | | | Reviewed-by: Brian Paul <[email protected]>
| * meta: Add support for ARB_color_buffer_float to _mesa_meta_Clear().Eric Anholt2011-04-201-4/+24
| | | | | | | | | | | | Tested with piglit arb_color_buffer_float-clear. Reviewed-by: Brian Paul <[email protected]>
| * meta: Add support for ARB_color_buffer_float to _mesa_meta_DrawPixels.Eric Anholt2011-04-201-0/+28
| | | | | | | | | | | | Tested with piglit arb_color_buffer_float-drawpixels. Reviewed-by: Brian Paul <[email protected]>
| * intel: Add support for ARB_texture_float.Eric Anholt2011-04-206-2/+62
| | | | | | | | | | | | | | | | | | | | | | | | For 1 and 2-channel formats the hardware only supports rendering to R and RG. To do I and L render targets we just call them R and everything works out. For A, we would need to rewrite the CC to do the alpha channel's blending on color instead, and send the fragment alpha down the red channel. For LA, there doesn't seem to be any hope, because we can't do independent color/alpha blending while treating the LA surface as RG. Reviewed-by: Brian Paul <[email protected]>
| * intel: Add support for blit copies of >32bpp formats.Eric Anholt2011-04-201-0/+11
| | | | | | | | | | | | | | | | | | The blitter only does up 32bpp at a time, so we handle it by mangling coordinates and calling the surface 32bpp. Fixes ARB_texture_rg/fbo-generatemipmap-formats-float with ARB_texture_float. Reviewed-by: Brian Paul <[email protected]>
| * mesa: Add renderbuffer accessors for A, I, L, FLOAT32.Eric Anholt2011-04-201-0/+218
| | | | | | | | | | | | | | Of these, intel will be using I and L initially, and A once we rewrite fragment shaders and the CC for rendering to it as R. Reviewed-by: Brian Paul <[email protected]>
| * mesa: Add renderbuffer accessors for MESA_FORMAT_R_FLOAT32, RG_FLOAT32.Eric Anholt2011-04-201-0/+92
| | | | | | | | Reviewed-by: Brian Paul <[email protected]>
| * mesa: Add ChooseTexFormat fallbacks for floating point textures.Eric Anholt2011-04-201-4/+30
| | | | | | | | | | | | This covers X_FLOAT16 -> X_FLOAT32, and X -> RGBA_FLOAT32. Reviewed-by: Brian Paul <[email protected]>
| * mesa: Add renderbuffer accessors for MESA_FORMAT_RGBA_FLOAT32.Eric Anholt2011-04-201-0/+27
| | | | | | | | Reviewed-by: Brian Paul <[email protected]>
| * swrast: Add LUMINANCE, INTENSITY, LUMINANCE_ALPHA to span asserts.Eric Anholt2011-04-202-0/+6
| | | | | | | | | | | | Fixes ARB_texture_float/fbo-alphatest-formats. Reviewed-by: Brian Paul <[email protected]>
| * r600c: add evergreen big endian supportAlex Deucher2011-04-195-9/+286
| | | | | | | | | | | | Based on Cedric's r6xx/r7xx patch. Signed-off-by: Alex Deucher <[email protected]>
| * r600c: add big endian support for r6xx/r7xxCédric Cano2011-04-1911-50/+508
| | | | | | | | | | Signed-off-by: Cedric Cano <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * r200: enable some extensionsMarek Olšák2011-04-191-2/+10
| | | | | | | | | | | | | | | | Such as: - GL_ARB_half_float_pixel - GL_ARB_vertex_array_object - GL_APPLE_vertex_array_object - GL_EXT_gpu_program_parameters
| * r300/compiler: Fix dataflow analysis bug with ELSE blocksTom Stellard2011-04-181-0/+7
| | | | | | | | | | | | | | Writes within ELSE blocks were being ignored which prevented us from discovering all possible writers for some register values. Fixes piglit glsl-fs-raytrace-bug27060
| * i965: Convert 3DPRIMITIVE command from struct-style to OUT_BATCH style.Kenneth Graunke2011-04-183-46/+37
| | | | | | | | | | | | | | | | | | | | Most of the newer portions of the code use OUT_BATCH style. I prefer this style because it offers a clear distinction between a) hardware messages/structures with a mandatory format, and b) data structures for our own internal use that we can format however we want. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
| * i965: Allocate the whole URB to the VS and fix calculations for Gen6.Kenneth Graunke2011-04-183-19/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we never enable the GS on Sandybridge, there's no need to allocate it any URB space. Furthermore, the previous calculation was incorrect: it neglected to multiply by nr_vs_entries, instead comparing whether twice the size of a single VS URB entry was bigger than the entire URB space. It also neglected to take into account that vs_size is in units of 128 byte blocks, while urb_size is in bytes. Despite the above problems, the calculations resulted in an acceptable programming of the URB in most cases, at least on GT2. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
| * mesa: fix void pointer arithmetic warningsBrian Paul2011-04-181-21/+18
| | | | | | | | And fix a couple logic errors in the put_*_generic() functions.
| * mesa: fix wrong parameter type in set_sampler_max_lod()Brian Paul2011-04-181-1/+1
| |
| * intel: Add I8 and L8 to intel_mesa_format_to_rb_datatype().Eric Anholt2011-04-181-0/+2
| | | | | | | | | | | | Fixes warnings in fbo-storage-formats. Reviewed-by: Brian Paul <[email protected]>
| * Revert "intel: Add spans code for the ARB_texture_rg support."Eric Anholt2011-04-181-122/+0
| | | | | | | | | | | | | | | | | | This reverts what remains of commit 28bab24e1698843e27d27204a1117066e7ffeabb. It was garbage, trying to use a MESA_FORMAT enum as a preprocessor token, and I don't know how I thought it was even tested. Reviewed-by: Brian Paul <[email protected]>
| * intel: Use mesa core's R8, RG88, R16, RG1616 RB accessors.Eric Anholt2011-04-181-25/+4
| | | | | | | | | | | | | | Fixes: ARB_texture_rg/fbo-alphatest-formats Reviewed-by: Brian Paul <[email protected]>
| * swrast: Don't try to adjust_colors for <8bpc when handling R16, RG1616.Eric Anholt2011-04-181-3/+3
| | | | | | | | | | | | | | | | | | The GL_RED and GL_RG were tricking this code into executing, but it's totally unprepared for a 16-bit channel and just rescaled the values down to 0. We don't have anything with <8bit channels alongside >8bit channels, so disabling it should be safe. Reviewed-by: Brian Paul <[email protected]>
| * mesa: Add renderbuffer accessors for R8/RG88/R16/RG1616.Eric Anholt2011-04-181-0/+310
| | | | | | | | | | | | | | This will replace the current (broken by trying to use an enum in the preprocessor) spantmp2.h support I wrote for the intel driver. Reviewed-by: Brian Paul <[email protected]>
| * mesa: Use _mesa_get_format_bytes to refactor out the RB get_row_*Eric Anholt2011-04-181-60/+10
| | | | | | | | Reviewed-by: Brian Paul <[email protected]>
| * mesa: Use _mesa_get_format_bytes to refactor out the RB get_pointer_*Eric Anholt2011-04-181-66/+11
| | | | | | | | Reviewed-by: Brian Paul <[email protected]>
| * intel: Use Mesa core's renderbuffer accessors for depth.Eric Anholt2011-04-182-33/+17
| | | | | | | | | | | | | | | | | | | | | | Since we're using GTT mappings now (no manual detiling), there's really nothing special to accessing these buffers, other than needing the new RowStride field of gl_renderbuffer to accomodate padding. Reduces the driver size by 2.7kb, and improves glean depthStencil performance 3-10x (!) Reviewed-by: Brian Paul <[email protected]>
| * mesa: Add a function to set up the default renderbuffer accessors.Eric Anholt2011-04-182-78/+104
| | | | | | | | Reviewed-by: Brian Paul <[email protected]>
| * mesa: Add a gl_renderbuffer.RowStride field like textures have.Eric Anholt2011-04-183-53/+66
| | | | | | | | | | | | | | | | | | This will allow some drivers to reuse the core renderbuffer.c get/put row functions in place of using the spantmp.h macros. Note that unlike textures, we use a signed integer here to allow for handling FBO orientation. Reviewed-by: Brian Paul <[email protected]>
| * mesa: Repack single-byte fields in gl_renderbuffer.Eric Anholt2011-04-181-4/+4
| | | | | | | | | | | | Cuts 8 out of 120 bytes in the struct. Reviewed-by: Brian Paul <[email protected]>
| * mesa: Remove renderbuffer deletion debug field.Eric Anholt2011-04-182-7/+0
| | | | | | | | | | | | | | It has presumably served its purpose by now, and other object deletion doesn't do this. Reviewed-by: Brian Paul <[email protected]>