Age | Commit message (Collapse) | Author |
|
|
|
Several targets may want to reuse this code. It's pretty simple, not
sure if this is really a win.
|
|
Finally we can inject layers for debug, trace and "other" with
relative ease between state-tracker and driver.
|
|
No need for the user of this winsys to supply/manage the x11 gc for
us.
|
|
Conflicts:
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/softpipe/sp_texture.c
src/gallium/drivers/softpipe/sp_winsys.h
src/gallium/state_trackers/egl/common/egl_g3d.c
src/gallium/state_trackers/egl/x11/native_x11.c
src/gallium/state_trackers/egl/x11/native_x11.h
src/gallium/state_trackers/egl/x11/native_ximage.c
|
|
commit f90b3f01af82b9522067b1824e21709a6fb2d3af
Author: Keith Whitwell <keithw@vmware.com>
Date: Mon Mar 8 14:39:44 2010 +0000
gallium: remove p_screen::surface_buffer_create
This isn't very useful without texture_blanket(), which has also been
removed.
Note that this function hasn't been removed from the old pipe_winsys
(u_simple_screen) still used internally by some drivers (eg softpipe).
commit 6c462de39a4b9980a5f034a95e580efdfcb8173b
Author: Keith Whitwell <keithw@vmware.com>
Date: Mon Mar 8 14:27:40 2010 +0000
egl/x11: disable texture_blanket usage
commit b42da9160df9f47224e5b3291b972f41767aa6e5
Merge: 4be2436 3ca9336
Author: Keith Whitwell <keithw@vmware.com>
Date: Mon Mar 8 14:27:24 2010 +0000
Merge commit 'origin/master' into gallium-no-texture-blanket
Conflicts:
src/gallium/drivers/svga/svga_screen_texture.c
commit 4be2436316929e3dfc55bc34d810920c06556b66
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Mar 4 14:59:26 2010 +0000
gallium: remove texture blanket call
No longer needed, except for nouveau and egl/xll/native_ximage.c.
Fix for nouveau is to keep the call, but move it to an internal
function within nouveau.
Fix for that egl/x11 relies on gallium-sw-api branch or its successor.
commit 69b6764330367d63c237d0bde9fb96435d0e0257
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Mar 4 13:35:16 2010 +0000
drm_api: wrap comment
|
|
|
|
|
|
|
|
Just use flush_frontbuffer directly. The flush_frontbuffer routine has
been somewhat devalued recently, but it is actually just the right
interface for our needs.
It is in pipe_screen, meaning that any wrapping (eg trace module)
will get properly unwrapped before we try and use the pipe_surface
argument for real.
If a particular co-state-tracker needs to implement this itself, it
should organize a way to allow the winsys to call back up to its
level, rather than hijacking the driver-supplied implementation.
|
|
Currently there are still at least two functions bundled up inside the
winsys concept:
a) that of a backend resource manager, sometimes capable of performing
present() operations,
b) the initialization code/routine for the whole driver stack.
The inclusion of (b) makes it difficult to share implementations of
(a) between different drivers. For instance, a clean xlib winsys
could be of use for software-rasterized VG, GLES, EGL, etc, stacks.
But that is only true as long as there is no dependency from the
winsys to higher level code, as would be the case when we include (b)
in this component.
This change creates a new gallium/targets subtree, specifically for
implementing the glue needed to build individual driver stacks, and
moves that code out of a single example winsys, namely xlib.
Other drivers continue to build unchanged, but hopefully can migrate
to this structure over time.
|
|
|
|
Introduce xlib_drawable struct, pass this down to winsys instead of
having it use the internal data structures from glx/x11
|
|
|
|
When the paint is color, paint_bind_samplers binds a dummy sampler
without a texture. It causes demos requiring a sampler (those use a
mask or an image) to crash.
|
|
These extensions are not quite useful until the client APIs gain support
for the respective EGLImage extensions.
|
|
get_param can be used to query the parameters of a native display.
There is only NATIVE_PARAM_USE_NATIVE_BUFFER right now. It queries
whether the window/pixmap surfaces use the native buffers instead of
private buffers.
|
|
native.h is getting more and more complex. Move the independent modeset
interface to native_modeset.h to simplify native.h a little.
|
|
There is only invalid_surface event right now. When EGL receives the
event, it sets the force_validate flag of the context binding to the
surface. This helps skip an unnecessary check.
|
|
This was missed in commit fcf438e9e03f6e75bca4a49ad372fe7c4b1abbf8.
|
|
Remove the rgbMode and indexBits parameters from _mesa_create_visual
and _mesa_initialize_visual. These values are now hardcoded to
GL_TRUE and 0.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
|
|
- move out of of the dispatch/context block to after corresponding init functions
- use more consistent naming with corresponding init functions
- XXX use _glthread_InitTSD() vs (void)_glthread_GetTSD() in _glapi_check_multithread() XXX
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Introduce a new shared usage and rename primary to scanout.
The display target usage is more of a windows concept and
doesn't mean the same thing as shared. Display target means
that the surface should be presentable, for softpipe this
means that it should be backed by a hardware buffer.
|
|
Instead of having these functions on a side interface like on
drm_api create a opaque winsys_handle that is to be passed down
into the winsys.
Currently the only thing ported to this new interface is drm_api,
and of that only the components that builds by default is ported.
All the drivers and any extra state trackers needs to be ported
before this can go into master.
|
|
Now trace always built.
|
|
|
|
|
|
|
|
|
|
|
|
This avoids exposing the ms driver structure to the winsys,
and nicely encapsulates driver customizable stuff.
In the future more things might be customizable by the winsys, like
throttling, 3D readback etc.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
|
|
Set it to the same as 2d acceleration
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
|
|
This is similar to the changes to reduce the round-trips in ximage
backend.
When the server supports DRI_InvalidateBuffers, the event is used to
update the server stamp (this path is not tested). Otherwise, the
server stamp is updated when flush_frontbuffer or swap_buffers is
called. This makes sure at least the client APIs get the new buffers
when a new frame is started while skipping all round-trips during the
drawing.
|
|
ximage_surface_validate is called several times per frame. This commit
adds the client and server stamps to reduce the round-trips to the
server. The idea is to bump the server stamp when flush_frontbuffer or
swap_buffers is called, and to skip the round-trip when the client stamp
is equal to the server stamp. This makes sure the client APIs get the
new buffers when a new frame is started while skipping all round-trips
during the drawing. To make this work, egl_g3d_validate_context is no
longer called after swap_buffers.
|
|
Add dri2_surface_process_drawable_buffers to process the buffers
returned by the server.
|
|
src/glx/dri2.c will call dri2InvalidateBuffers when
DRI2_InvalidateBuffers event is received. This fixes a missing symbol
error, and paves the way for event-based validation.
|
|
Actually ask the gallium screen what Z/stencil format is supported.
This will let us remove some hacks in the llvmpipe driver.
|
|
|