Commit graph

34968 commits

Author SHA1 Message Date
Brian Paul
3bc6fe371c winsys/xlib: fix up allocation/dealloction of XImage
Fixes a crash upon exit when using remote display.
2010-10-21 19:49:34 -06:00
Brian Paul
4d24f01cb3 winsys/xlib: use Bool type for shm field 2010-10-21 19:37:11 -06:00
Brian Paul
e3298eaf52 winsys/xlib: formatting fixes 2010-10-21 19:17:44 -06:00
Brian Paul
69a07be3e5 Merge branch 'primitive-restart-cleanup'
Conflicts:
	docs/relnotes-7.10.html

This branch is a re-do of the primitive-restart branch with all
the intermediate/temporary stuff cleaned out.
2010-10-21 19:05:47 -06:00
Brian Paul
6692ed6f03 llvmpipe: enable primitive restart 2010-10-21 19:03:38 -06:00
Brian Paul
27d3bab055 softpipe: enable primitive restart 2010-10-21 19:03:38 -06:00
Brian Paul
0eaaceb218 draw: implement primitive splitting for primitive restart 2010-10-21 19:03:38 -06:00
Brian Paul
053875a8b1 st/mesa: support for primitive restart 2010-10-21 19:03:38 -06:00
Brian Paul
adf35e80d3 gallium: new CAP, state for primitive restart 2010-10-21 19:03:38 -06:00
Brian Paul
be45255ab1 vbo: support for primitive restart
We handle splitting of glDrawArrays() calls into two primitives here
so that drivers don't have to worry about it.
2010-10-21 19:03:38 -06:00
Brian Paul
b3de6e703d mesa: plug in primitive restart function 2010-10-21 19:03:38 -06:00
Brian Paul
4f495ec20e mesa: regenerated files with primitive restart 2010-10-21 19:03:38 -06:00
Brian Paul
1cae8b5448 mesa: API spec for primitive restart 2010-10-21 19:03:38 -06:00
Brian Paul
7f26ad80ba mesa: set/get primitive restart state 2010-10-21 19:03:38 -06:00
Brian Paul
a80afbd99e mesa: driver hook for primitive restart 2010-10-21 19:03:38 -06:00
Eric Anholt
1d91f8d916 i965: Be more aggressive in tracking live/dead intervals within loops.
Fixes glsl-fs-convolution-2, which was blowing up due to the array
access insanity getting at the uniform values within the loop.  Each
temporary was considered live across the whole loop.
2010-10-21 16:55:26 -07:00
Brian Paul
b66a92de8c st/mesa: added cases for GL_COMPRESSED_RED/RG in st_choose_format() 2010-10-21 17:05:35 -06:00
Brian Paul
d4a296caaa mesa: add missing cases for packing red/green images 2010-10-21 17:05:35 -06:00
Brian Paul
d4c1bcce44 mesa: add GL_RG case to _mesa_source_buffer_exists()
Fixes failure with glReadPixels(format=GL_RG)
2010-10-21 17:05:35 -06:00
Brian Paul
154d91cad9 draw: fix typo in comment 2010-10-21 17:05:35 -06:00
Eric Anholt
4e72525109 i965: Correct scratch space allocation.
One, it was allocating increments of 1kb, but per thread scratch space
is a power of two.  Two, the new FS wasn't getting total_scratch set
at all, so everyone thought they had 1kb and writes beyond 1kb would
go stomping on a neighbor thread.

With this plus the previous register spilling for the new FS,
glsl-fs-convolution-1 passes.
2010-10-21 15:21:28 -07:00
Eric Anholt
0b77d57394 i965: Don't emit register spill offsets directly into g0.
g0 is used by others, and is expected to be left exactly as it was
dispatched to us.  So manually move g0 into our message reg when
spilling/unspilling and update the offset in the MRF.  Fixes failures
in texture sampling after having spilled a register.
2010-10-21 15:21:28 -07:00
Eric Anholt
99b2c8570e i965: Add support for register spilling.
It can be tested with if (0) replaced with if (1) to force spilling for all
virtual GRFs.  Some simple tests work, but large texturing tests fail.
2010-10-21 15:21:01 -07:00
Eric Anholt
7a3f113e79 i965: Fix gl_FrontFacing emit on pre-gen6.
It's amazing this code worked.  Basically, we would get lucky in
register allocation and the tests using frontfacing would happen to
allocate gl_FrontFacing storage and the instructions generating
gl_FrontFacing but pointing at another register to the same hardware
register.  Noticed during register spilling debug, when suddenly they
didn't get allocatd the same storage.
2010-10-21 15:20:01 -07:00
Eric Anholt
5ac6c4ecfe i965: Split register allocation out of the ever-growing brw_fs.cpp. 2010-10-21 15:20:01 -07:00
Kenneth Graunke
3f5fde5c45 Refresh autogenerated file builtin_function.cpp.
Since this is just generated by python, it's questionable whether this
should continue to live in the repository - Mesa already has other
things generated from python as part of the build process.
2010-10-21 11:46:08 -07:00
Kenneth Graunke
2cacaf6e7b generate_builtins.py: Output large strings as arrays of characters.
This works around MSVC's 65535 byte limit, unfortunately at the expense
of any semblance of readability and much larger file size.  Hopefully I
can implement a better solution later, but for now this fixes the build.
2010-10-21 11:45:38 -07:00
Vinson Lee
50095ac87c gallivm: Silence uninitialized variable warning.
Fixes this GCC warning.
gallivm/lp_bld_tgsi_aos.c: In function 'lp_build_tgsi_aos':
gallivm/lp_bld_tgsi_aos.c:516: warning: 'dst0' may be used uninitialized in this function
gallivm/lp_bld_tgsi_aos.c:516: note: 'dst0' was declared here
2010-10-21 11:27:35 -07:00
Vinson Lee
fc59790b87 gallivm: Silence uninitialized variable warnings.
Fixes these GCC warnings.
gallivm/lp_bld_sample_aos.c: In function 'lp_build_sample_image_nearest':
gallivm/lp_bld_sample_aos.c:271: warning: 't_ipart' may be used uninitialized in this function
gallivm/lp_bld_sample_aos.c:271: warning: 'r_ipart' may be used uninitialized in this function
2010-10-21 11:21:03 -07:00
Vinson Lee
0a5666148b gallivm: Silence uninitialized variable warnings.
Fixes these GCC warnings.
gallivm/lp_bld_sample_aos.c: In function 'lp_build_sample_image_linear':
gallivm/lp_bld_sample_aos.c:439: warning: 'r_ipart' may be used uninitialized in this function
gallivm/lp_bld_sample_aos.c:438: warning: 't_ipart' may be used uninitialized in this function
gallivm/lp_bld_sample_aos.c:438: warning: 't_fpart' may be used uninitialized in this function
gallivm/lp_bld_sample_aos.c:439: warning: 'r_fpart' may be used uninitialized in this function
gallivm/lp_bld_sample_aos.c:438: warning: 't_fpart_hi' may be used uninitialized in this function
gallivm/lp_bld_sample_aos.c:438: warning: 't_fpart_lo' may be used uninitialized in this function
gallivm/lp_bld_sample_aos.c:439: warning: 'r_fpart_hi' may be used uninitialized in this function
gallivm/lp_bld_sample_aos.c:439: warning: 'r_fpart_lo' may be used uninitialized in this function
2010-10-21 11:10:15 -07:00
Chia-I Wu
16333e1fc4 mesa: Remove unused vtxfmt_tmp.h.
It was used by the "neutral" tnl module that was dropped in
81ccb3e2ce.
2010-10-21 22:03:34 +08:00
Dave Airlie
f39e6c9c81 r600g: start splitting out common code from eg/r600.
no point duplicating code that doesn't touch hw, also make it easier
to spot mistakes
2010-10-21 19:58:09 +10:00
Dave Airlie
e68c83a5a0 r600g: initial translate state support 2010-10-21 19:58:08 +10:00
Vinson Lee
3a54195679 draw: Remove unnecessary header. 2010-10-21 01:47:52 -07:00
Vinson Lee
abc5435f22 llvmpipe: Remove unnecessary header. 2010-10-21 01:44:48 -07:00
Kenneth Graunke
cc04347b8d glsl: Refresh autogenerated file builtin_function.cpp. 2010-10-21 00:14:38 -07:00
Kenneth Graunke
574c53f551 glsl: Add support for GLSL 1.30's modf built-in. 2010-10-21 00:14:37 -07:00
Kenneth Graunke
94a36faed7 glcpp: Refresh autogenerated lexer file. 2010-10-21 00:13:33 -07:00
Kenneth Graunke
bd55ba568b glcpp: Return NEWLINE token for newlines inside multi-line comments.
This is necessary for the main compiler to get correct line numbers.
2010-10-21 00:13:33 -07:00
Dave Airlie
089aa0ba24 r600g: add texture tiling enable under a debug option.
At the moment you need kernel patches to have texture tiling work
with the kernel CS checker, so once they are upstream and the drm version
is bumped we can make this enable flip the other way most likely.
2010-10-21 13:40:45 +10:00
Dave Airlie
cdd14668b6 r600g: add texture tiling alignment support.
this sets things up to align stride/height with tile sizes,
it also adds support for the 2D/1D array mode cross over point.
2010-10-21 13:37:54 +10:00
Dave Airlie
92ed84d115 r600g: introduce a per-driver resource flag for transfers.
this is to be used to decide not to tile a surface being used for transfers.
2010-10-21 13:36:01 +10:00
Dave Airlie
91e513044d r600g: add r600 surface to store the aligned height.
we need to know the aligned height when binding the surface to cb/zb,
not the gallium surface height.
2010-10-21 13:33:00 +10:00
Dave Airlie
388ce31baa r600g: start adding hooks for aligning width/height for tiles. 2010-10-21 13:32:08 +10:00
Dave Airlie
ea5aab85fd r600g: move to per-miplevel array mode.
Since the hw transitions from 2D->1D sampling below the 2D macrotile
size we need to keep track of the array mode per level so we can
render to it using the CB.
2010-10-21 13:32:08 +10:00
Dave Airlie
206fbd9640 r600g: all non-0 mipmap levels need to be w/h aligned to POT.
this adds a new minify function to the driver to ensure this.
2010-10-21 13:20:14 +10:00
Vinson Lee
2e5764ccf4 swrast: Print out format on unexpected failure in _swrast_DrawPixels. 2010-10-20 15:27:48 -07:00
Kenneth Graunke
b970da4d24 mesa: Remove FEATURE_ARB_shading_language_120 macro.
Everything should be able to support 1.20 at this point.
2010-10-20 15:07:47 -07:00
Kenneth Graunke
a75da2c0e8 glsl: Remove useless ir_shader enumeration value. 2010-10-20 15:07:47 -07:00
Vinson Lee
460da0db4a glsl: Add assert for unhandled ir_shader case.
Silences this GCC warning.
ast_to_hir.cpp: In function 'void apply_type_qualifier_to_variable(const
ast_type_qualifier*, ir_variable*, _mesa_glsl_parse_state*, YYLTYPE*)'
ast_to_hir.cpp:1768: warning: enumeration value 'ir_shader' not handled
in switch
2010-10-20 14:10:26 -07:00