summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* draw: fix typo in commentBrian Paul2010-10-211-1/+1
|
* i965: Correct scratch space allocation.Eric Anholt2010-10-213-12/+15
| | | | | | | | | | 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.
* i965: Don't emit register spill offsets directly into g0.Eric Anholt2010-10-211-6/+22
| | | | | | | 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.
* i965: Add support for register spilling.Eric Anholt2010-10-218-55/+380
| | | | | 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.
* i965: Fix gl_FrontFacing emit on pre-gen6.Eric Anholt2010-10-211-1/+0
| | | | | | | | | 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.
* i965: Split register allocation out of the ever-growing brw_fs.cpp.Eric Anholt2010-10-213-216/+266
|
* Refresh autogenerated file builtin_function.cpp.Kenneth Graunke2010-10-211-3160/+205
| | | | | | 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.
* generate_builtins.py: Output large strings as arrays of characters.Kenneth Graunke2010-10-211-2/+14
| | | | | | 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.
* gallivm: Silence uninitialized variable warning.Vinson Lee2010-10-211-1/+1
| | | | | | | 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
* gallivm: Silence uninitialized variable warnings.Vinson Lee2010-10-211-1/+1
| | | | | | | 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
* gallivm: Silence uninitialized variable warnings.Vinson Lee2010-10-211-2/+2
| | | | | | | | | | | | | 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
* mesa: Remove unused vtxfmt_tmp.h.Chia-I Wu2010-10-211-603/+0
| | | | | It was used by the "neutral" tnl module that was dropped in 81ccb3e2ce708619f4c23537a237d61bdffdd35f.
* r600g: start splitting out common code from eg/r600.Dave Airlie2010-10-216-339/+367
| | | | | no point duplicating code that doesn't touch hw, also make it easier to spot mistakes
* r600g: initial translate state supportDave Airlie2010-10-214-5/+250
|
* draw: Remove unnecessary header.Vinson Lee2010-10-211-1/+0
|
* llvmpipe: Remove unnecessary header.Vinson Lee2010-10-211-1/+0
|
* glsl: Refresh autogenerated file builtin_function.cpp.Kenneth Graunke2010-10-211-0/+88
|
* glsl: Add support for GLSL 1.30's modf built-in.Kenneth Graunke2010-10-213-0/+51
|
* glcpp: Refresh autogenerated lexer file.Kenneth Graunke2010-10-211-23/+13
|
* glcpp: Return NEWLINE token for newlines inside multi-line comments.Kenneth Graunke2010-10-211-2/+2
| | | | This is necessary for the main compiler to get correct line numbers.
* r600g: add texture tiling enable under a debug option.Dave Airlie2010-10-211-0/+7
| | | | | | 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.
* r600g: add texture tiling alignment support.Dave Airlie2010-10-211-5/+60
| | | | | this sets things up to align stride/height with tile sizes, it also adds support for the 2D/1D array mode cross over point.
* r600g: introduce a per-driver resource flag for transfers.Dave Airlie2010-10-212-2/+5
| | | | this is to be used to decide not to tile a surface being used for transfers.
* r600g: add r600 surface to store the aligned height.Dave Airlie2010-10-214-20/+36
| | | | | we need to know the aligned height when binding the surface to cb/zb, not the gallium surface height.
* r600g: start adding hooks for aligning width/height for tiles.Dave Airlie2010-10-211-4/+26
|
* r600g: move to per-miplevel array mode.Dave Airlie2010-10-214-12/+23
| | | | | | 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.
* r600g: all non-0 mipmap levels need to be w/h aligned to POT.Dave Airlie2010-10-211-5/+13
| | | | this adds a new minify function to the driver to ensure this.
* swrast: Print out format on unexpected failure in _swrast_DrawPixels.Vinson Lee2010-10-201-1/+1
|
* mesa: Remove FEATURE_ARB_shading_language_120 macro.Kenneth Graunke2010-10-202-5/+0
| | | | Everything should be able to support 1.20 at this point.
* glsl: Remove useless ir_shader enumeration value.Kenneth Graunke2010-10-204-12/+2
|
* glsl: Add assert for unhandled ir_shader case.Vinson Lee2010-10-201-0/+4
| | | | | | | | 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
* draw: use float version of LLVM Mul/Add instructionsBrian Paul2010-10-201-7/+7
| | | | LLVM 2.8 is pickier about int vs float instructions and operands.
* llvmpipe/draw: always enable LLVMAddInstructionCombiningPass()Brian Paul2010-10-202-14/+2
| | | | | | We were working around an LLVM 2.5 bug but we're using LLVM 2.6 or later now. This basically reverts commit baddcbc5225e12052b3bc8c07a8b65243d76574d. This fixes the piglit bug/tri-tex-crash.c failure.
* osmesa: link against libtallocOrion Poplawski2010-10-201-1/+1
| | | | | | Otherwise consumers have to, and that's lame. Signed-off-by: Adam Jackson <[email protected]>
* r600g: Ensure r600_src is initialized in tgsi_exp function.Vinson Lee2010-10-201-1/+1
| | | | | | | | | | Silences these GCC warnings. r600_shader.c: In function 'tgsi_exp': r600_shader.c:2339: warning: 'r600_src[0].rel' is used uninitialized in this function r600_shader.c:2339: warning: 'r600_src[0].abs' is used uninitialized in this function r600_shader.c:2339: warning: 'r600_src[0].neg' is used uninitialized in this function r600_shader.c:2339: warning: 'r600_src[0].chan' is used uninitialized in this function r600_shader.c:2339: warning: 'r600_src[0].sel' is used uninitialized in this function
* draw: Move loop variable declaration outside for loop.Vinson Lee2010-10-191-1/+2
| | | | Fixes MSVC build.
* draw: make sure viewport gets updated in draw llvm shaderKeith Whitwell2010-10-193-27/+47
| | | | The viewport state was being baked in at compile time (oops...)
* Merge branch 'llvm-cliptest-viewport'Keith Whitwell2010-10-195-42/+455
|\
| * draw: corrections to allow for different cliptest casesHui Qi Tay2010-10-191-3/+5
| |
| * llvmpipe: clean up fields in draw_llvm_variant_keyKeith Whitwell2010-10-172-14/+9
| |
| * draw: corrections for w coordinateHui Qi Tay2010-10-171-2/+3
| |
| * draw: sanitize llvm variant keyHui Qi Tay2010-10-142-1/+3
| | | | | | | | Fixes recompilation, but seems to be broken with llvm 2.8.
| * draw: some changes to allow for runtime changes to userclip planesdelphi2010-10-105-20/+67
| |
| * draw: added userclip planes and updated variant_keydelphi2010-10-042-47/+99
| |
| * draw: added viewport and cliptest flagsHui Qi Tay2010-09-293-50/+98
| | | | | | | | | | | | | | Corrections in store_clip to store clip coordinates in AoS form. Viewport & cliptest flag options based on variant key. Put back draw_pt_post_vs and now 2 paths based on whether clipping occurs or not.
| * draw: cliptest and viewport done in a single loop in vertex shaderHui Qi Tay2010-09-292-27/+293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cliptesting now done at the end of vs in draw_llvm instead of draw_pt_post_vs. Added viewport mapping transformation and further cliptesting to vertex shader in draw_llvm.c Alternative path where vertex header setup, clip coordinates store, cliptesting and viewport mapping are done earlier in the vertex shader. Still need to hook this up properly according to the return value of "draw_llvm_shader" function.
* | i965: Use the new style of IF statement with embedded comparison on gen6.Eric Anholt2010-10-192-4/+113
| | | | | | | | | | "Everyone else" does it this way, so follow suit. It's fewer instructions, anyway.
* | i965: Set the source operand types for gen6 if/else/endif to integer.Eric Anholt2010-10-191-6/+6
| | | | | | | | | | I don't think this should matter, but I'm not sure, and it's recommended by a kernel checker in fulsim.
* | i965: Add EU emit support for gen6's new IF instruction with comparison.Eric Anholt2010-10-192-1/+31
| |
* | linker: Improve handling of unread/unwritten shader inputs/outputsIan Romanick2010-10-191-11/+25
| | | | | | | | | | | | | | | | | | | | | | | | Previously some shader input or outputs that hadn't received location assignments could slip through. This could happen when a shader contained user-defined varyings and was used with either fixed-function or assembly shaders. See the piglit tests glsl-[fv]s-user-varying-ff and sso-user-varying-0[12]. NOTE: this is a candidate for the 7.9 branch.