Age | Commit message (Collapse) | Author |
|
Conflicts:
src/gallium/drivers/identity/id_context.c
|
|
For conditional rendering predicated on results of an occlusion query.
If this driver function is NULL, conditional rendering is not supported by
the driver.
|
|
|
|
|
|
The idea here is to eliminate the set_edgeflags() call in pipe_context
by treating edgeflags as a regular vertex element.
Edgeflags provoke special treatment in hardware, which means we need to
label them in some way, in this case we'll be passing them through the
vertex shader and labelling the vertex shader output with a new TGSI
semantic (TGSI_SEMANTIC_EDGEFLAG).
|
|
Previously, gallium shared sampler and texture state between vertex
and fragment shader stages. This change generalises this concept by
providing separate entrypoints for vertex and fragment sampler state
setting.
A new capability bit is added to query the driver for the number
of samplers that can be utilised by a vertex and fragment shader
at the same time.
|
|
Uf. Lots of files touched. Would people with working vega, xorg, dri1, etc.
please make sure you are not broken, and fix yourself up if you are.
There were only two or three places where the code did not have painful
fallbacks, so I would advise st maintainers to find less painful workarounds,
or consider overhauling util_surface_copy and util_surface_fill.
Per ymanton, darktama, and Dr_Jakob's suggestions, clear has been left as-is.
I will not add PIPE_CAP_BLITTER unless it is deemed necessary.
|
|
|
|
Also implement context member functions to optimize away those
flushes whenever possible.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
|
|
|
|
Only allows clearing currently bound buffers, but colour and depth/stencil in
a single call.
|
|
I should have gotten most uses and implementation
correctly fixed, but things might break.
Feel free to blame me.
|
|
Not used in p_state.h but used in p_context.h and p_screen.h
|
|
uint64 is not (so?) standard, and often redefined by third parties,
causing name clashes.
|
|
|
|
|
|
|
|
Also, implement support in the draw module. We were hardwiring these
to one for quite a long time...
Currently using a draw_set_edgeflags() function, may be better to push
the argument into the draw_arrays() function. TBD.
|
|
|
|
|
|
The cell driver still uses an internal CELL_FLUSH_WAIT flag, in the long run
proper fencing should be implemented for it.
|
|
This provides better information about which images in texture object have changed.
Also, call texture_update() from more places previously missed.
|
|
Bind all the samplers/textures at once rather than piecemeal.
This is easier for drivers to understand.
|
|
aaline/point/pstipple stages
Added a void *draw ptr to pipe_context. Probably look for a better solution someday.
|
|
These functions are now per-screen, not per-context.
|
|
|
|
These are now per-screen functions, not per-context.
State tracker updated, code in drivers and p_context.h disabled.
|
|
This will allow creating textures before a rendering context exists, for example.
Only implemented in i915 driver for now. i915pipe->texture_create() just
dispatches through to the i915screen->texture_create() to avoid state tracker
changes for now.
|
|
|
|
Called whenever texture data is changed (glTexImage, glTexSubImage,
glCopyTexSubImage, etc).
|
|
This is in a separate commit to ensure renames are properly preserved.
|