summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glsl: Lower ir_binop_pow to a sequence of EXP2 and LOG2Ian Romanick2010-12-014-4/+33
|
* glsl: Use M_LOG2E constant instead of calling log2Ian Romanick2010-12-012-3/+7
|
* glsl: Add comments to lower_jumps (from the commit message).Kenneth Graunke2010-12-011-0/+31
| | | | | This is essentially Luca's commit message, but placed at the top of the file.
* glsl: Remove "discard" support from lower_jumps.Kenneth Graunke2010-12-011-11/+2
| | | | | | | | | | | | The new lower_discard and opt_discard_simplification passes should handle all the necessary transformations, so lower_jumps doesn't need to support it. Also, lower_jumps incorrectly handled conditional discards - it would unconditionally truncate all code after the discard. Rather than fixing the bug, simply remove the code. NOTE: This is a candidate for the 7.9 branch.
* glsl: Add a lowering pass to move discards out of if-statements.Kenneth Graunke2010-12-015-1/+204
| | | | | | | This should allow lower_if_to_cond_assign to work in the presence of discards, fixing bug #31690 and likely #31983. NOTE: This is a candidate for the 7.9 branch.
* glsl: Add an optimization pass to simplify discards.Kenneth Graunke2010-12-015-0/+184
| | | | NOTE: This is a candidate for the 7.9 branch.
* ir_to_mesa: Add support for conditional discards.Marek Olšák2010-12-011-2/+7
| | | | | | | NOTE: This is a candidate for the 7.9 branch. Signed-off-by: Marek Olšák <[email protected]> Signed-off-by: Kenneth Graunke <[email protected]>
* r600c: fix some opcodes on evergreenAlex Deucher2010-12-011-8/+56
| | | | | | | | | | There were a few places where we were using the wrong opcodes on evergreen. arl still needs to be fixed on evergreen; see r600g for reference. NOTE: This is a candidate for the 7.9 branch. Signed-off-by: Alex Deucher <[email protected]>
* r300/compiler: implement and lower OPCODE_CLAMPMarek Olšák2010-12-014-1/+29
| | | | Needed for st/vega.
* vega: Remove extraneous ;José Fonseca2010-12-011-1/+1
|
* scons: Move MSVS_VERSION option to common module.José Fonseca2010-12-012-1/+1
|
* svga: Silence debug printf.José Fonseca2010-12-011-1/+0
|
* st/vega: Avoid unnecessary constant bufer upload.Chia-I Wu2010-12-011-30/+48
| | | | Remember the last uploaded data and avoid re-uploading.
* st/vega: Initialize pipe states with renderer.Chia-I Wu2010-12-013-26/+28
| | | | | Initialize vertex elements, rasterizer, stencil ref, and vertex shader with renderer_create. Remove RASTERIZER_DIRTY and VS_DIRTY flags.
* st/vega: Create drawing surface mask as needed.Chia-I Wu2010-12-013-35/+38
| | | | | | | As the blend texture, a drawing surface mask is used when masking is enabled. It should be created as needed. s/alpha_mask/surface_mask/ to follow OpenVG 1.1 naming.
* st/vega: Delay blend texture creation until needed.Chia-I Wu2010-12-014-57/+32
| | | | | It is used for more advanced blending or mask update. It might not be ever needed for some applications.
* st/vega: Remove st_inlines.h.Chia-I Wu2010-12-015-127/+1
| | | | Per b0427bedde80e3189524651a327235bdfddbc613.
* st/vega: Simplify radial gradient.Chia-I Wu2010-12-011-73/+46
| | | | Eight less instructions with comments.
* st/vega: Fix degenerate paints.Chia-I Wu2010-12-016-9/+80
| | | | | Fix the case that the two points of a linear gradient coincide, or the case that the radius of a radial gradient is equal to or less than 0.
* i965: also using align1 mode for math2 on sandybridgeZhenyu Wang2010-12-011-6/+50
| | | | | Like Eric's workaround patch of commit 490c23ee6be2e8531b5a14d42f808de83d401130. This forces to align1 mode for math2 too.
* st/vega: Fix negated logic in image_draw.Chia-I Wu2010-12-011-4/+4
| | | | A typo from last commit.
* st/vega: Fix paint coordinates transformations.Chia-I Wu2010-12-019-39/+94
| | | | | | | | Depending on whether vgDrawPath(mode), vgDrawImage, or vgDrawGlyph[s] is called, different paint-to-user and user-to-surface matrices should be used to derive the sample points for the paint. This fixes "paint" demo.
* st/vega: Bump version to 1.1.Chia-I Wu2010-12-011-2/+2
|
* 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-017-482/+544
|
* 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.
* docs: Fix MESA_drm_image typoKristian Høgsberg2010-11-301-1/+1
|
* 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