summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* st/vega: Add color transformation support.Chia-I Wu2010-12-017-50/+123
| | | | | Per OpenVG 1.1. A new shader stage is added. It uses the first two constants of the fragment shader for color transformation parameters.
* st/vega: More flexible shader selection.Chia-I Wu2010-12-013-107/+130
| | | | | | | Divide bits of VegaShaderType into 6 groups: paint, image, mask, fill, premultiply, and bw. Each group represents a stage. At most one shader from each group will be selected when constructing the final fragment shader.
* st/vega: Revive mask layer support.Chia-I Wu2010-12-015-47/+64
|
* st/vega: Add primitive text support.Chia-I Wu2010-12-015-80/+353
| | | | | | Optional features such as auth-hinting are not implemented. There is no anti-aliasing, and no effort is done to keep the glyph origin integral. So the text quality is poor.
* st/vega: Make image_draw take a matrix.Chia-I Wu2010-12-013-6/+4
|
* st/vega: Make path_render and path_stroke take a matrix.Chia-I Wu2010-12-014-10/+10
|
* st/vega: Fix image sampler views for alpha-only formats.Chia-I Wu2010-12-011-0/+7
| | | | For alpha-only VG formats, R = G = B = 1.0.
* st/vega: Update to latest headers.Chia-I Wu2010-12-012-9/+10
|
* st/vega: Get rid of renderer_copy_texture.Chia-I Wu2010-12-014-78/+29
|
* st/vega: vg_copy_texture and vg_copy_surface should share code.Chia-I Wu2010-12-011-44/+31
|
* st/vega: Clean up renderer fields and functions.Chia-I Wu2010-12-012-108/+46
|
* st/vega: Clean up vg_context fields and functions.Chia-I Wu2010-12-014-163/+9
|
* st/vega: vg_manager should care about only the color buffer.Chia-I Wu2010-12-012-182/+184
| | | | | Move depth/stencil buffer, blend texture view, and alpha mask view creation to vg_context.c.
* st/vega: Make shader_bind call into the renderer.Chia-I Wu2010-12-013-31/+45
| | | | | | With this commit, the pipe states are entirely managed by the renderer. The rest of the code interfaces with the renderer instead of manipulating the states directly.
* st/vega: Move g3d states to renderer.Chia-I Wu2010-12-014-200/+230
| | | | | Let vg_context focus on OpenVG states and renderer focus on gallium states.
* st/vega: Use st_framebuffer for fb width/height.Chia-I Wu2010-12-014-30/+27
| | | | This allows us to eventually make g3d states opaque.
* st/vega: Delay fb state update to vg_validate_state.Chia-I Wu2010-12-013-64/+73
| | | | | | vg_manager_validate_framebuffer should mark the fb dirty and have vg_validate_state call cso_set_framebuffer. Rename VIEWPORT_DIRTY to FRAMEBUFFER_DIRTY.
* st/vega: Add POLYGON_STENCIL and POLYGON_FILL renderer state.Chia-I Wu2010-12-013-240/+277
| | | | | | The states are designated for polygon filling. Polygon filling is a two-pass process utilizing the stencil buffer. polygon_fill and polygon_array_fill functions are updated to make use of the state.
* st/vega: Use the renderer for vgMask.Chia-I Wu2010-12-011-189/+44
| | | | | vgMask renders to the alpha mask with special fragment shaders. The operation can be supported by switching the renderer to FILTER state.
* st/vega: Add FILTER renderer state for image filtering.Chia-I Wu2010-12-013-176/+227
| | | | | The state is designated to perform image filtering. execute_filter is updated to make use of the state.
* st/vega: Add CLEAR renderer state for vgClear.Chia-I Wu2010-12-013-113/+68
| | | | | | This state provides the ability to clear rectangles of the framebuffer to the specified color, honoring scissoring. vegaClear is updated to make use of the state.
* st/vega: Add SCISSOR renderer state.Chia-I Wu2010-12-013-49/+126
| | | | | The state can be used to set rectangles of the depth buffer to 0.0f. update_clip_state is changed to use the state for scissor update.
* st/vega: Add DRAWTEX renderer state.Chia-I Wu2010-12-012-116/+103
| | | | | | | | | This state provides glDrawTex-like function. It can be used for vgSetPixels. Rather than modifying every user of the renderer, this commit instead modifies renderer_copy_surface to use DRAWTEX or COPY state internally depending on whether the destination is the framebuffer.
* st/vega: Overhaul renderer with renderer states.Chia-I Wu2010-12-012-254/+496
| | | | | | | | | | | | | Renderer states are high-level states to perform specific tasks. The renderer is initially in INIT state. In that state, the renderer is used for OpenVG pipeline. This commit adds a new COPY state to the renderer. The state is used for copying between two pipe resources using textured drawing. It can be used for vgCopyImage, for example. Rather than modifying every user of the renderer, this commit instead modifies renderer_copy_texture to use the COPY state internally.
* llvmpipe: Fix build errors on x86.Chia-I Wu2010-12-012-4/+5
| | | | | The errors were introduced by efc82aef35a2aac5d2ed9774f6d28f2626796416.
* gallivm/llvmpipe: squash merge of the llvm-context branchBrian Paul2010-11-3083-2261/+2912
| | | | | | | | | | | | | | This branch defines a gallivm_state structure which contains the LLVMBuilderRef, LLVMContextRef, etc. All data structures built with this object can be periodically freed during a "garbage collection" operation. The gallivm_state object has to be passed to most of the builder functions where LLVMBuilderRef used to be used. Conflicts: src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c src/gallium/drivers/llvmpipe/lp_state_setup.c
* r300g: fix texture border color once againMarek Olšák2010-11-301-2/+37
| | | | | | | | | I made the texwrap test be more thorough and realized that this driver code had not been quite right. This commit fixes the border color for depth textures, compressed textures, and 16-bits-per-channel textures with up to 2 channels (R16, RG16). NOTE: This is a candidate for the 7.9 branch.
* scons: add alias for identityZack Rusin2010-11-301-0/+2
|
* llvmpipe: shortcircuit some calls to set_scene_stateKeith Whitwell2010-11-301-1/+1
|
* llvmpipe: remove misleading debug stringKeith Whitwell2010-11-301-1/+0
|
* llvmpipe: raise dirty flag on transfers to bound constbufKeith Whitwell2010-11-301-0/+5
| | | | | Need this to trigger the scene to update its shadow of the constant state.
* wgl: More complete WGL_ARB_pbuffer support.José Fonseca2010-11-304-11/+169
|
* wgl: Stub WGL_ARB_pbuffer support.José Fonseca2010-11-304-0/+89
| | | | See http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt
* scons: Alias for svgaJosé Fonseca2010-11-301-0/+2
|
* svga: Use consistent hexadecimal representation on debug output.José Fonseca2010-11-301-1/+1
|
* util: rename u_mempool -> u_slabMarek Olšák2010-11-309-95/+95
|
* gallivm: fix storing of the addr registerZack Rusin2010-11-301-1/+1
| | | | | we store into the index specified by the register index, not an indirect register.
* r600g: it looks like r600 can handle dword offsets in the indices.Dave Airlie2010-11-291-7/+0
| | | | | Tested with piglit + ut2004 still seems to render okay (and it definitely does this)
* u_blitter: interpolate clear color using a GENERIC varying instead of COLORMarek Olšák2010-11-283-25/+22
| | | | | | | | | | | There are also some u_simple_shaders changes. On r300, the TGSI_SEMANTIC_COLOR varying is a fixed-point number clamped to the range [0,1] and limited to 12 bits of precision. Therefore we can't use it for passing through a clear color in order to clear high precision texture formats. This also makes u_blitter use only one vertex shader instead of two.
* r600g: Fix the PIPE_FORMAT_A8_UNORM color swap for Evergreen as well.Henri Verbeet2010-11-271-0/+1
|
* r600g: Fix the PIPE_FORMAT_L8A8_UNORM color swaps.Henri Verbeet2010-11-272-0/+2
|
* xorg/vmwgfx: Don't clip video to viewportThomas Hellstrom2010-11-261-1/+10
| | | | | | | Since the viewport is not updated on RandR12 mode switches anymore, clipping to viewport may incorrectly clip away the video. Signed-off-by: Thomas Hellstrom <[email protected]>
* xorg/vmwgfx: Flush even if we don't autopaint the color keyThomas Hellstrom2010-11-261-6/+6
| | | | | | | This may help paint the colorkey before overlay updates in some situations where the app paints the color key (mainly xine). Signed-off-by: Thomas Hellstrom <[email protected]>
* u_blitter: use PIPE_TRANSFER_DISCARD to prevent cpu/gpu stallMarek Olšák2010-11-251-2/+5
| | | | | But the driver must be smart here and follow PIPE_TRANSFER_DISCARD, as it should.
* nvfx: reset nvfx->hw_zetaXavier Chantry2010-11-251-1/+3
| | | | | | | | | | | | If nvfx_framebuffer prepare and validate were called successively with fb->zsbuf not NULL and then NULL, nvfx->hw_zeta would contain garbage and this would cause failures in nvfx_framebuffer_relocate/OUT_RELOC(hw_zeta). This was triggered by piglit/texwrap 2D GL_DEPTH_COMPONENT24 and caused first a 'write to user buffer!!' error in libdrm and then worse things. Signed-off-by: Xavier Chantry <[email protected]> Signed-off-by: Francisco Jerez <[email protected]>
* nvfx: fb->nr_cbufs <= 1 on nv30Xavier Chantry2010-11-251-1/+1
| | | | | | | | 7e1bf946316ff99feaa3f2e85f70b45bd9a77ade changed PIPE_CAP_MAX_RENDER_TARGETS to 1 on nv30. Signed-off-by: Xavier Chantry <[email protected]> Signed-off-by: Francisco Jerez <[email protected]>
* st/vega: Fix a typo in EXTENDED_BLENDER_OVER_FUNC.Chia-I Wu2010-11-251-1/+1
| | | | | The typo was introduced by commit 231d5457b275c1d9bbeff14165cf3da33dda176b.
* st/vega: No flipping in vg_prepare_blend_surface.Chia-I Wu2010-11-251-3/+2
| | | | | | The blend sampler view is addressed with unnormalized coordinates in the fragment shader. It should have the same orientation as the surface does.
* st/vega: Masks and surfaces should share orientation.Chia-I Wu2010-11-251-15/+0
| | | | | | | | The alpha mask is addressed with unnormalized coordinates in the fragment shader. It should have the same orientation as the surface does. This fixes "mask" OpenVG demo.
* st/vega: Fix a crash with empty paths.Chia-I Wu2010-11-251-2/+11
|