Age | Commit message (Collapse) | Author |
|
To convert RGB -> SRGB format.
|
|
It's bound to be useful elsewhere.
|
|
|
|
|
|
This implements fast Z clear, Z compression, and HiZ support for r300->r500
GPUs.
It also allows cbzb clears when fast Z clears are being used for the ZB.
It requires a kernel with hyper-z support.
Thanks to Marek Olšák <maraeo@gmail.com>, who started this off, and Alex Deucher at AMD for providing lots of hints.
v2:
squashed zmask ram size fix]
squashed r300g/blitter: fix Z readback when compressed]
v3:
rebase around texture changes in master - .1 fix more bits
v4:
migrated to using u_mm in r300_texture to manage hiz/zmask rams consistently
disabled HiZ when using OQ
flush z-cache before turning hyper-z off
update hyper-z state on dsa state change
store depthclearvalue across cbzb clears and replace it afterwards.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
|
|
Apparently, we must always use integers to perform calculations,
otherwise the results won't match D3D's CxV8U8 definition.
|
|
Keep min_index and max_index at their defaults (0 and ~0).
|
|
|
|
Useful for packing mask values.
|
|
Unnecessary.
|
|
Update u_draw_quad, st/vega, and st/mesa to use pipe_context::draw_vbo.
|
|
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.
|
|
|
|
s/PIPE_OS_DARWIN/PIPE_OS_APPLE, since there is no PIPE_OS_DARWIN.
Acked-by: Vinson Lee <vlee@vmware.com>
|
|
By fixing one, I introduced another. Crap.
|
|
|
|
|
|
|
|
It should allocate less memory now.
|
|
Empty structure types aren't allowed with MSVC.
I haven't tested this change. Hope I haven't broken it...
|
|
malloc/free are in O(1).
|
|
|
|
|
|
|
|
|
|
I'd like to see the help when I request it.
|
|
|
|
Not always implemented, but useful in situations where we want 8unorms
and the samples comes as 8unorms as we needlessly convert to/from
floats.
|
|
|
|
before this change, r600 glxinfo segfaulted in the list code, and I wasn't
debugging another linked list implementation, its 2010 after all.
So add the two missing list macros to the gallium header from X.org list header file (after fixing them), then port all r600 lists to the new header.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Ooops. This should possibly fix some bugs...
|
|
|
|
The conditionals aren't needed.
|
|
|
|
|
|
As suggested by gcc warning.
|
|
|
|
don't overwrite the inputs and make sure the correct primitive
is used on entry
|
|
|
|
this doesn't really look terribly useful for drivers to use, but until
drivers use their own implementation provide this since some state trackers
really want to use these functions.
|
|
|
|
|
|
|
|
The tmp_row storage allocation took into account the format's y block
size by allocating y_step rows of data. However, the x block size was
not being taken into account when deciding how wide those rows need to
be.
Now make sure that tmp_row is at least x_step by y_step in size.
|
|
|
|
Conflicts:
src/gallium/state_trackers/python/p_context.i
|
|
more consistent with rest of gallium naming conventions.
Also rename driver-internal names for these the same.
|
|
This lets us specify linear interpolation instead of perspective
interpolation for blit operations. Might be a bit faster.
|