| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
It was used by the "neutral" tnl module that was dropped in
81ccb3e2ce708619f4c23537a237d61bdffdd35f.
|
|
|
|
|
| |
no point duplicating code that doesn't touch hw, also make it easier
to spot mistakes
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This is necessary for the main compiler to get correct line numbers.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
this sets things up to align stride/height with tile sizes,
it also adds support for the 2D/1D array mode cross over point.
|
|
|
|
| |
this is to be used to decide not to tile a surface being used for transfers.
|
|
|
|
|
| |
we need to know the aligned height when binding the surface to cb/zb,
not the gallium surface height.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
this adds a new minify function to the driver to ensure this.
|
| |
|
|
|
|
| |
Everything should be able to support 1.20 at this point.
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
LLVM 2.8 is pickier about int vs float instructions and operands.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Otherwise consumers have to, and that's lame.
Signed-off-by: Adam Jackson <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Fixes MSVC build.
|
|
|
|
| |
The viewport state was being baked in at compile time (oops...)
|
|\ |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Fixes recompilation, but seems to be broken with llvm 2.8.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
"Everyone else" does it this way, so follow suit. It's fewer
instructions, anyway.
|
| |
| |
| |
| |
| | |
I don't think this should matter, but I'm not sure, and it's
recommended by a kernel checker in fulsim.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|