Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
So that messages are in sync with stderr.
|
|
It was providing 1 too many for non power two values.
|
|
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.
|
|
|
|
I started looking into why _NEW_ARRAY punishes us, and while annotating
dependencies noticed that a bunch of dependencies were missing.
(cherry picked from master, commit e5f63c403b767f9974e8eb5d412c012b8a69287f)
|