| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Remove/disable the attrib/slot mapping arrays in a few places.
Work in progress...
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Done to match the new cso semantics. translate in create,
use in bind and later delete.
|
|
|
|
| |
state constant state object semantics.
|
| |
|
|
|
|
|
| |
Allow driver custom allocation within cached objects. The shaders
are currently twiced (by cso layer and by the program itself).
|
|
|
|
|
|
|
|
| |
TGSI_ATTRIB_x tokens still present and used in a few places.
Expanded set of TGSI_SEMANTIC_x tokens for describing the meaning
of inputs/outputs. These tokens are in a crude state ATM.
Lots of #if 0 / disabled code to be removed yet, etc...
Softpipe and i915 drivers should be in working condition but not heavily tested.
|
| |
|
|
|
|
|
|
| |
cso already allocated the template for us. Returning 0 means
we have no driver specific representation and just want
the template on the bind.
|
|
|
|
|
| |
Basically make cso hold the driver specific struct, while
managing the template.
|
| |
|
|
|
|
|
|
| |
Drivers can now create whatever they want from the state template. We
use cso_state object to store the template (necessary during lookups),
and the driver data. Convert blend state to the new semantics.
|
|
|
|
|
| |
Create/Delete calls should be split since in create we'll be
compiling them so we want to know which one it is (vertex/fragment).
|
|
|
|
|
|
|
| |
This is a step toward removing TGSI_ATTRIB_ tokens.
Basically, when translating Mesa programs to TGSI programs, pass in input and
output register re-maps, plus interpolation info.
There's some known breakage (cubemap.c) so more to be done...
|
|
|
|
|
|
|
|
|
|
| |
In mesa_to_tgsi.c, use TGSI_INTERPOLATE_PERSPECTIVE by default (to match
post-transform vertex info convention). More to be done there...
In sp_quad_fs.c, interpolate W in addition to Z. This fixes the divide
by zero happening in perspective_interpolation() tgsi_exec.c
As it was, we were only getting perspective correction of texture coords
used by the TGSI_TEX instruction since it does a homogeneous divide.
Other coords/varyings were incorrect.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
state
|
|
|
|
|
| |
Converting depth and stencil objects into a single state object
(d3d10 like) and making it immutable.
|
|
|
|
|
|
| |
The const is there to enforce the immutable state of the object,
which is in reality owned by the pipe so just cast away the
constness.
|
|
|
|
| |
Switch the sample to be an immutable state object.
|
|
|
|
|
|
|
| |
We want our state objects to be immutable, handled via the
create/bind/delete calls instead of struct propagation.
Only implementing the blend state to see how it would look like
and work.
|
| |
|
|
|
|
| |
This is already handled by the semanics of map(), etc.
|
|
|
|
|
|
| |
This replaces the temporary occlusion counter functions we had before.
Added new ctx->Driver.WaitQuery() function which should block until the result is ready.
Sketch out some code for vertex transformation feedback counters.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This will be used for:
GL_NV_transform_feedback, or similar GL3 functionality
glRasterPos
GL selection/feedback modes
|
|
|
|
|
|
|
| |
This will be used for:
GL_NV_transform_feedback, or GL3 equivalent.
RasterPos
GL select/feedback modes
|
| |
|
| |
|
|
|
|
|
|
|
| |
A few functions which were basically duplicated between softpipe and the
i915 driver are now re-used:
draw_emit_vertex_attr()
draw_compute_vertex_size()
|
|
|
|
|
| |
Added a new draw_set_twoside_attributes() function for specifying which
vertex attributes are to be copied/replaced when a polygon is back-facing.
|
| |
|
| |
|
|
|
|
|
|
|
| |
to cpy.
One less dependency on the TGSI_ATTRIB_x flags.
This requires setting the vertex_info->interp_mode[] values in the i915 driver and passing them to draw_set_vertex_attributes().
|
|
|
|
|
|
| |
In emit_poly() we need to compute header.edgeflags from the vertex
edge flags. Also need to set header.det so later stages can determine
front/back orientation.
|
|
|
|
|
|
|
| |
The code is all in place, but mostly disabled for now:
In t_vp_build.c, write the VERT_RESULT_PSIZE register
In sp_state_derived.c, need to emit vertex point size if drawing points.
In setup_point() use the point size from the vertex.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|