summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* egl: Remove redundant DeletePending flag.Chia-I Wu2009-07-1713-69/+47
| | | | | | | | 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 <[email protected]>
* egl: Destroy display's resources upon termination.Chia-I Wu2009-07-173-3/+37
| | | | | | eglTerminate should destroy the contexts and surfaces of the display. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Return the same EGL Display for the same native display.Chia-I Wu2009-07-173-3/+34
| | | | | | | 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 <[email protected]>
* egl: Use the link functions to manage resources.Chia-I Wu2009-07-1714-160/+143
| | | | | | | | 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 <[email protected]>
* egl: Add funtions to link contexts and surfaces to displays.Chia-I Wu2009-07-177-100/+228
| | | | | | | | | | | | | | | | | 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 <[email protected]>
* egl: Extend per-thread info for multiple current contexts.Chia-I Wu2009-07-172-10/+41
| | | | | | | EGL allows multiple current contexts, as long as they are bound to different client APIs. Signed-off-by: Chia-I Wu <[email protected]>
* egl: Support per-thread info.Chia-I Wu2009-07-1710-195/+22
| | | | | | | | | 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 <[email protected]>
* egl: Add eglcompiler.h for compiler features.Chia-I Wu2009-07-173-0/+33
| | | | | | | | 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 <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* texenv: Calculate whether we need to do secondary color on our own.Eric Anholt2009-07-162-4/+16
| | | | | | | | 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.
* i965: Add missing state dependency of sf_unit on _NEW_BUFFERS.Eric Anholt2009-07-161-2/+4
|
* draw: fix ppc build regressionKeith Whitwell2009-07-161-0/+1
| | | | Found by x.org tinderbox, reported by Chris Ball.
* st/mesa: add some array index bounds assertionsBrian Paul2009-07-161-0/+5
|
* tgsi: simplify and fix sse KIL implementationKeith Whitwell2009-07-161-36/+28
| | | | | | 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.
* rtasm: export sse_movmskpsKeith Whitwell2009-07-162-0/+10
|
* tgsi: initial texturing support on sse pathKeith Whitwell2009-07-162-19/+184
| | | | | Most obvious problem is drawpixels comes out blocky, but this may be an existing issue of KIL on the sse path.
* tgsi: make sse function callout mechanism more genericKeith Whitwell2009-07-161-40/+48
| | | | Take a list of arguments rather than hardcoding TEMP_R0.
* tgsi: reduce x86 reg usage in tgsi_sse generated programsKeith Whitwell2009-07-164-150/+115
| | | | | | 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.
* tgsi: no need to separately malloc input and output arraysKeith Whitwell2009-07-162-27/+6
| | | | Can now guarantee alignment in the initial allocation of the tgsi exec machine.
* gallium: reduce recursive include of tgsi_exec.hKeith Whitwell2009-07-165-1/+7
| | | | A lot of draw code no longer needs to see this header.
* tgsi: make function call code in tgsi_sse.c less opaqueKeith Whitwell2009-07-162-25/+92
| | | | | | 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.
* gallium: proper constructor and destructor for tgsi_exec_machineKeith Whitwell2009-07-167-53/+71
| | | | | Centralize the creation, initialization and destruction of this struct. Use align_malloc instead of home-brew alternatives.
* radeon: update span reading micro tile codeDave Airlie2009-07-151-103/+67
| | | | tested on r500 with zreaddraw with Z buffer in all 3 modes
* r300: emit z depth pitch reloc in preparation for tilingDave Airlie2009-07-151-7/+17
|
* radeon: r300 fix span reading for macro tiled buffers.Dave Airlie2009-07-151-6/+7
| | | | this uses the correct formula for macro tiled buffers for readback
* radeon: for tiling you really need to use GET/PUT VALUE not PTR.Dave Airlie2009-07-151-1/+5
| | | | since the surfaces aren't linear you can't just use GET_PTR
* i965: the offset of any branch/jump instruction is in unit of 64bits on IGDNGXiang, Haihao2009-07-152-6/+24
|
* intel/radeon: add common metaops code.Dave Airlie2009-07-1518-871/+684
| | | | | Move all the metaops to a dri_metaops file and port radeon/intel to use the new common meta ops code.
* radeon: fix unsigned vs signed comparison in stencil code.Dave Airlie2009-07-151-1/+1
| | | | | This function takes a GLint not a GLuint, passing in -1 breaks internally.
* intel: Fix ClearDepth to not be affected by DepthRange.Eric Anholt2009-07-141-1/+7
| | | | Fixes new piglit depthrange-clear.c test.
* intel: Set DepthRange in the metaops using RasterPos[2].Eric Anholt2009-07-142-1/+9
| | | | | | | RasterPos[2] is already sent through the window transform, which includes DepthRange handling. So make DepthRange for the metaops a noop. Fixes a failure in oglconform depthrange.c
* Fix state flag dependencies for fixed function fragment program updates.Eric Anholt2009-07-142-1/+11
| | | | | I started looking into why _NEW_ARRAY punishes us, and while annotating dependencies noticed that a bunch of dependencies were missing.
* intel: Flag _NEW_ARRAY state when doing array object binding in clears.Eric Anholt2009-07-141-0/+8
| | | | This is just following bind_vertex_array()'s behavior.
* mesa: regenerated enums.c fileBrian Paul2009-07-141-2/+3
|
* dri-st: Unbreak GL_EXT_blend_equation_separate.Corbin Simpson2009-07-141-0/+1
| | | | | | | | | Since it has a dispatch table entry (for BlendEquationSeparateEXT,) can't omit it from this list. It'll still get disabled if the cap (PIPE_CAP_BLEND_EQUATION_SEPARATE) isn't set. Somebody that doesn't suck at GL (read: not me) should probably add this into progs/samples/blendeq or similar so we can test it.
* gallium: Define PIPE_CAP_BLEND_EQUATION_SEPARATE, remove extension from ↵Patrice Mandin2009-07-1410-3/+19
| | | | default extension list
* radeon: Differentiate 16 bpp destination formats.Michel Dänzer2009-07-143-3/+30
| | | | | | Fixes those formats in fbo_firecube. Only tested with r300, radeon and r200 compile tested only.
* radeon: Invert front face winding when rendering to FBO.Michel Dänzer2009-07-143-0/+12
| | | | | | Fixes fgl_glxgears and progs/demos/fbotexture after pressing 'c'. Tested with r300, radeon and r200 compile tested only.
* r300g: Small compile warning fixes.Nicolai Hähnle2009-07-133-2/+5
| | | | Signed-off-by: Corbin Simpson <[email protected]>
* r300g, radeon: Whitespace fixes.Nicolai Hähnle2009-07-134-13/+13
| | | | Signed-off-by: Corbin Simpson <[email protected]>
* r300g: Use align() instead of inline maths.Corbin Simpson2009-07-131-4/+7
|
* Merge branch 'shaders_cleanup'Maciej Cencora2009-07-1317-570/+883
|\
| * r300: always assume all components are read by fragment programMaciej Cencora2009-07-131-49/+5
| | | | | | | | | | | | Components of input attributes that are used by fragment program aren't part of vertex program key, and that may lead to situations when vertex program writes only TEX1.xy and fragment program reads TEX1.xyz, resulting in rendering errors. Reported-by: Nicolai Hähnle <[email protected]>
| * r300: Fix fogcoord rewritingNicolai Hähnle2009-07-133-45/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only care about the actual fogcoord itself now, reducing the rewriting done for the vertex program. The rewriting of source operand swizzles in the fragment program takes care that fogcoord.yzw = 001. This should fix fogcoord rewriting entirely, which had been horribly broken in the face of dot-product instructions, and just broken (though not horribly so) in the face of almost every other instruction (the W component would be incorrect for most arithmetic instructions). Signed-off-by: Nicolai Hähnle <[email protected]>
| * r300: fix swizzle masking in getUsedComponentsMaciej Cencora2009-07-131-4/+8
| |
| * r300: minor fixMaciej Cencora2009-07-131-1/+2
| | | | | | | | | | | | Split initializations becase the vars are of different type. Reported-by: Nicolai Hähnle <[email protected]>
| * r300: move variables declarationsMaciej Cencora2009-07-131-3/+4
| |
| * r300: document r300_vertex_program_cont structureMaciej Cencora2009-07-131-2/+7
| | | | | | | | Reported-by: Nicolai Hähnle <[email protected]>
| * r300: document r300_fragment_program_cont structMaciej Cencora2009-07-131-0/+5
| |
| * r300: fix indentationMaciej Cencora2009-07-131-4/+4
| | | | | | | | Reported-by: Nicolai Hähnle <[email protected]>
| * r300: fix StrideB == 0 case when converting data formatMaciej Cencora2009-07-131-1/+10
| | | | | | | | Reported-by: Nicolai Hähnle <[email protected]>