| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
It seems we never get semantic id from TGSI so fallback
to use output number as id.
Signed-off-by: Jerome Glisse <[email protected]>
|
| |
|
|
|
|
|
| |
If we crash in the jitted function we can examine jit_line and
jit_state in gdb to learn more about the shader.
|
|
|
|
|
|
| |
Plumb the constant buffer sizes down into the tgsi interpreter where
we can do bounds checking. Optional debug code warns upon out-of-bounds
reading. Plus add a few other assertions in the TGSI interpreter.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add mipmap support (demos/src/redbook/mipmap is working)
Add EX2/ABS shader instruction support.
Add face culling support.
Misc fixes.
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
|
|
| |
The Draw flush inside r300_flush was the culprit.
Also, no need to flush Draw when changing a state since the flush is
already inside swtcl_draw_vbo.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Fixes a failed assertion with LLVM 2.6:
<unnamed>::JITResolver::JITResolver(llvm::JIT&): Assertion
`TheJITResolver == 0&& "Multiple JIT resolvers?"' failed.
Though, not everyone seems to experience this problem.
|
|
|
|
| |
Less susceptible to be broken.
|
|
|
|
|
|
|
| |
Unfortunately LLVM doesn't emit EMMS itself, and there is no
easy/effective way to disable MMX.
http://llvm.org/bugs/show_bug.cgi?id=3287
|
|
|
|
| |
This fixes fdo bug #29286.
|
|
|
|
|
|
|
| |
That is, remove pipe_context::draw_arrays, pipe_context::draw_elements,
pipe_context::draw_arrays_instanced,
pipe_context::draw_elements_instanced,
pipe_context::draw_range_elements.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some drivers define a generic function that is called by all drawing
functions. To implement draw_vbo for such drivers, either draw_vbo
calls the generic function or the prototype of the generic function is
changed to match draw_vbo.
Other drivers have no such generic function. draw_vbo is implemented by
calling either draw_arrays and draw_elements.
For most drivers, set_index_buffer does not mark the state dirty for
tracking. Instead, the index buffer state is emitted whenever draw_vbo
is called, just like the case with draw_elements. It surely can be
improved.
|
|
|
|
| |
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
|
|
|
|
| |
I am not sure how to properly handle flat shading regarding
non color parameter to fragment shader. It seems we should
still interpolate non color using linear interpolation and
flat shade only apply to color.
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Split hw vs pipe states creation handling as hw states group doesn't
match pipe state group exactly. Right now be dumb about that and
rebuild all hw states on each draw call. More optimization on that
side coming.
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
|
| |
Use a common function, fix the mess it was before.
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
| |
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
|
|
| |
Previous patch added literal emission to wrong place, we
want to emit literal before emitting a new alu group.
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
| |
For some reason gallium hands us something with lots of empty views, and
we are expected to deal with it, just do what r300g does for this bit.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add texture mapping support, redbook/texbind works if
you comment out glClear and second checkboard. Need to
fix :
- texture overwritting
- lod & mip/map handling
- unormalized coordinate handling
- texture view with first leve > 0
- and many other things
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
|
|
|
| |
Cube map faces and 3D texture slices are treated the same in llvmpipe
textures. Need to pass the sum of these fields to
llvmpipe_unswizzle_cbuf_tile() as we do elsewhere.
Fixes piglit fbo-3d test (fd.o bug 29135).
|
|
|
|
| |
Fixes SCons build.
|
|
|
|
|
|
| |
Make sure we always fill in the literal after alu instruction.
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
| |
Fixes fdo 29269.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
isn't a problem yet, but have issues in hiz branch.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Because the hw can't sample it, I reinterpret the format as G16R16 and
sample the G component. This gives 16 bits of precision, which should be
enough for depth texturing (surprisingly, the sampled values are exactly
the same as in D16 textures).
This also enables EXT_packed_depth_stencil on those old chipsets, finally.
|
|
|
|
|
|
|
| |
The number of macrotiles in the Y direction must be even, otherwise memory
corruption may happen (e.g. broken fonts). Basically, if we get a buffer
in resource_from_handle, we can determine from the buffer size whether it's
safe to use the CBZB clear or not.
|
| |
|
|
|
|
| |
We were using TXPITCH_EN for textures from the DDX since ever, for nothing.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This decouples initializing a texture layout/miptree description
from an actual texture creation, it also partially unifies texture_create
and texture_from_handle.
r300_texture inherits r300_texture_desc, which inherits u_resource.
The CBZB clear criteria are moved to r300_texture_desc::cbzb_allowed[level].
And other minor cleanups.
|
|
|
|
|
|
|
|
| |
The driver gets a buffer and its size in resource_from_handle.
It computes the required minimum buffer size from given texture
properties, and compares the two sizes.
This is to early detect DDX bugs.
|
| |
|
|
|
|
|
| |
I don't remember why the alignment was there, but it seems to be
no longer needed. I guess it was a dirty fix for some other bug.
|
| |
|
|
|
|
|
|
|
| |
This add texture support to the assembler, generated code is
wrong (tested against working dump).
Signed-off-by: Jerome Glisse <[email protected]>
|
| |
|
|
|
|
|
|
| |
We need to make sure dp are all mirror accross the alu unit.
Signed-off-by: Jerome Glisse <[email protected]>
|