Age | Commit message (Collapse) | Author | Files | Lines |
|
into r6xx-rewrite
|
|
patch from Kevin DeKorte with some minor fixes from me.
|
|
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
|
A context or surface that is neither linked to a display nor current to
a thread should be destroyed. Therefore, an unlinked context or surface
implies a pending delete automatically.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
|
eglTerminate should destroy the contexts and surfaces of the display.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
|
The latest revision of the spec explicitly requires the same handle to
be returned for the same native display.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
|
This commit uses the newly introduced link functions to manage EGL
contexts and surfaces. As a result of this, the API for drivers are
changed. All drivers are updated for the change.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
|
EGL contexts and surfaces are resources of displays. They should be
managed by displays. This commit adds a bunch of functions to
egldisplay.c to help establish the links between contexts/surfaces and
displays. How links are established is considered opaque outside
display. Functions like _eglGetSurfaceHandle or _eglLookupSurface are
therefore moved to egldisplay.c, with some small modifications.
The idea is also extended to display. That is, displays need to link to
themselves to be looked up.
This commit only adds the functions. A commit to use them should
follow.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
|
EGL allows multiple current contexts, as long as they are bound to
different client APIs.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
|
This commit introduces a "current" system to manage per-thread info. It
uses TLS, if GLX_USE_TLS is defined, or pthread, if PTHREADS is defined.
If none of them are defined, it uses a dummy implementation that is just
like before.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
|
Only INLINE (from mesa/main/compiler.h) is defined now. It may be used
to deal with symbol visibility and int/pointer conversion in the future.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
|
|
|
|
The _TriangleCaps bit is deprecated, not updated when we require, and
is set based on state that hasn't been updated at that point in
_mesa_update_state_locked().
Fixes incorrect clear color in glsl/twoside.c with meta_clear_tris.
|
|
|
|
You always need to emit a fetch shader (fs) even if you
aren't using it. For now, just emit the fs with the
vs address to make the kernel happy.
|
|
Found by x.org tinderbox, reported by Chris Ball.
|
|
|
|
Spotted by kdekorte on IRC
|
|
|
|
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
|
|
|
|
Use sse_movmskps to extract the correct bits of the comparison result
for use in updating the killmask. Simplify some logic around
identifying the set of necessary comparisons to make.
|
|
|
|
Most obvious problem is drawpixels comes out blocky, but this may be
an existing issue of KIL on the sse path.
|
|
Take a list of arguments rather than hardcoding TEMP_R0.
|
|
Pass the tgsi_exec_machine struct in directly and just hold a single
pointer to this struct, rather than keeping one for each of its
internal members.
|
|
Can now guarantee alignment in the initial allocation of the tgsi exec machine.
|
|
A lot of draw code no longer needs to see this header.
|
|
Explictly pass src and dst arguments (previously dst argument was also
being used as a src). Separate argument handling from the rest of
the function call emit.
|
|
Centralize the creation, initialization and destruction of this struct.
Use align_malloc instead of home-brew alternatives.
|
|
|
|
|
|
Somehow context->radeon.tcl.aos[j].bo is not null sometimes,
but it is safe for now because it is only a pointer to
dma.current so overwriting it would not hurt anything.
|
|
|
|
|
|
|
|
into r6xx-rewrite
This builds, but I get an assertion in radeonGetLock() due to
the drawable being null.
|
|
|
|
This alleviates the need for an additional symbol.
|
|
tested on r500 with zreaddraw with Z buffer in all 3 modes
|
|
|
|
this uses the correct formula for macro tiled buffers for readback
|
|
since the surfaces aren't linear you can't just use GET_PTR
|
|
|
|
This allows double buffered apps to run, but perfomance
will be awful until we implement something faster.
You must update to the latest kernel modules.
|
|
Move all the metaops to a dri_metaops file and port radeon/intel
to use the new common meta ops code.
|
|
We were using sparse indexing for aos, while the common
code expected packed indexing.
|
|
|
|
This function takes a GLint not a GLuint, passing in -1
breaks internally.
|