summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/vega
AgeCommit message (Collapse)Author
2010-12-01st/vega: Fix image sampler views for alpha-only formats.Chia-I Wu
For alpha-only VG formats, R = G = B = 1.0.
2010-12-01st/vega: Update to latest headers.Chia-I Wu
2010-12-01st/vega: Get rid of renderer_copy_texture.Chia-I Wu
2010-12-01st/vega: vg_copy_texture and vg_copy_surface should share code.Chia-I Wu
2010-12-01st/vega: Clean up renderer fields and functions.Chia-I Wu
2010-12-01st/vega: Clean up vg_context fields and functions.Chia-I Wu
2010-12-01st/vega: vg_manager should care about only the color buffer.Chia-I Wu
Move depth/stencil buffer, blend texture view, and alpha mask view creation to vg_context.c.
2010-12-01st/vega: Make shader_bind call into the renderer.Chia-I Wu
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.
2010-12-01st/vega: Move g3d states to renderer.Chia-I Wu
Let vg_context focus on OpenVG states and renderer focus on gallium states.
2010-12-01st/vega: Use st_framebuffer for fb width/height.Chia-I Wu
This allows us to eventually make g3d states opaque.
2010-12-01st/vega: Delay fb state update to vg_validate_state.Chia-I Wu
vg_manager_validate_framebuffer should mark the fb dirty and have vg_validate_state call cso_set_framebuffer. Rename VIEWPORT_DIRTY to FRAMEBUFFER_DIRTY.
2010-12-01st/vega: Add POLYGON_STENCIL and POLYGON_FILL renderer state.Chia-I Wu
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.
2010-12-01st/vega: Use the renderer for vgMask.Chia-I Wu
vgMask renders to the alpha mask with special fragment shaders. The operation can be supported by switching the renderer to FILTER state.
2010-12-01st/vega: Add FILTER renderer state for image filtering.Chia-I Wu
The state is designated to perform image filtering. execute_filter is updated to make use of the state.
2010-12-01st/vega: Add CLEAR renderer state for vgClear.Chia-I Wu
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.
2010-12-01st/vega: Add SCISSOR renderer state.Chia-I Wu
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.
2010-12-01st/vega: Add DRAWTEX renderer state.Chia-I Wu
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.
2010-12-01st/vega: Overhaul renderer with renderer states.Chia-I Wu
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.
2010-11-25st/vega: Fix a typo in EXTENDED_BLENDER_OVER_FUNC.Chia-I Wu
The typo was introduced by commit 231d5457b275c1d9bbeff14165cf3da33dda176b.
2010-11-25st/vega: No flipping in vg_prepare_blend_surface.Chia-I Wu
The blend sampler view is addressed with unnormalized coordinates in the fragment shader. It should have the same orientation as the surface does.
2010-11-25st/vega: Masks and surfaces should share orientation.Chia-I Wu
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.
2010-11-25st/vega: Fix a crash with empty paths.Chia-I Wu
2010-11-21st/vega: Fix vgReadPixels with a subrectangle.Chia-I Wu
Fix a crash when the subrectangle is not inside the fb. Fix wrong pipe transfer when sx > 0 or sy + height != fb->height. This fixes "readpixels" demo.
2010-11-21st/vega: Set wrap_r for mask and blend samplers.Chia-I Wu
These two samplers use non-normalized texture coordinates. wrap_r cannot be PIPE_TEX_WRAP_REPEAT (the default). This fixes sp_tex_sample.c:1790:get_linear_unorm_wrap: Assertion `0' failed assertion failure.
2010-11-21st/vega: vegaLookupSingle should validate the state.Chia-I Wu
Fix "lookup" demo crash.
2010-11-18gallium: Add st_api::name.Chia-I Wu
It is the name of the rendering API. This field is informative.
2010-11-18st/vega: Do not wait NULL fences.Chia-I Wu
2010-11-05scons: DetabifyJakob Bornecrantz
Drivers scons files for a later time
2010-11-02st/vega: Remove unnecessary headers.Vinson Lee
2010-11-01scons: Revamp how to specify targets to build.José Fonseca
Use scons target and dependency system instead of ad-hoc options. Now is simply a matter of naming what to build. For example: scons libgl-xlib scons libgl-gdi scons graw-progs scons llvmpipe and so on. And there is also the possibility of scepcified subdirs, e.g. scons src/gallium/drivers If nothing is specified then everything will be build. There might be some rough corners over the next days. Please bare with me.
2010-10-07st/vega: Fix version check in context creation.Chia-I Wu
This fixes a regression since 4531356817ec8383ac35932903773de67af92e37.
2010-09-30gallium/st: remove duplicated includesNicolas Kaiser
Remove duplicated includes. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-09-10gallium: Add context profile support to st_api.Chia-I Wu
Add struct st_context_attribs to describe context profiles and attributes. Modify st_api::create_context to take the new struct instead of an st_visual. st_context_attribs can be used to support GLX_ARB_create_context_profile and GLX_EXT_create_context_es2_profile in the future. But the motivation for doing it now is to be able to replace ST_API_OPENGL_ES1 and ST_API_OPENGL_ES2 by profiles. Having 3 st_api's to provide OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is not a sane abstraction, since all of them share glapi for current context/dispatch management.
2010-07-29gallium: Use unified pipe_context::draw_vbo.Chia-I Wu
Update u_draw_quad, st/vega, and st/mesa to use pipe_context::draw_vbo.
2010-06-30st/vega: Match MALLOC/FREE for vg_shader.Chia-I Wu
A vg_shader is destroyed with FREE.
2010-06-30st/vega: s/free/FREE for matching MALLOC/CALLOCnobled
[Manually fix a conflict in vg_context.c by Chia-I Wu]
2010-06-29st_api: Remove st_context::is_visual_supported.Chia-I Wu
The callback is used by st/vega to check if a visual specifies the depth/stencil format. It forces st/vega to be loaded by st/egl to perform the check. As noted in EGL spec, the depth/stencil format of a visual should not affect OpenVG. It should be better to ignore the field and always allocate the depth/stencil texture.
2010-06-03gallium: add interpolation parameter to simple shader functionsBrian Paul
This lets us specify linear interpolation instead of perspective interpolation for blit operations. Might be a bit faster.
2010-05-31st/vega: Use SConscript for Windows build.Chia-I Wu
Fix several portability issues and add SConscript for Windows build.
2010-05-30st/vega: Use FREE.Chia-I Wu
Match MALLOC with FREE. Otherwise, it causes weird segfaults when built with memory debugging.
2010-05-21Merge branch 'gallium-msaa'Roland Scheidegger
Conflicts: src/mesa/state_tracker/st_gen_mipmap.c src/mesa/state_tracker/st_texture.c
2010-05-17st/vega: adapt to interface changesRoland Scheidegger
2010-05-14gallium: more work on ccw flag removalKeith Whitwell
The linux-debug target builds...
2010-05-08gallium: Add egl-apis target.Chia-I Wu
The new target installs client API modules to EGL_DRIVER_INSTALL_DIR. They are used by st/egl. The client APIs are built from OpenGL and OpenVG state trackers. For this to work, st/vega is modified to produce a static library, libvega.a, instead. st/es is also not needed any more. It is removed and --with-state-trackers=es is replaced by --enable-gles-overlay. As st/egl now has its own client API modules, this solves the ABI issue between st/egl and client APIs, as long as the client API modules are distributed with st/egl. Plus, this allows st/egl to support OpenGL with non-Gallium libGL.so.
2010-05-07st/vega: Use vgapi.Chia-I Wu
Rename vgFooBar to vegaFooBar and use vgapi as the dispatcher. This makes sure there is always a current context when the internal functions are called. And eglGetProcAddress is finally supported.
2010-05-03gallium: move surface utility functions into u_surface.cBrian Paul
This is a better place than in u_rect.c
2010-04-26st_api: Remove st_moduleJakob Bornecrantz
The struct st_module isn't needed as it is the same thing as the st_api struct. That is they both represent the API. Instead just use a single function entry point to the the API.
2010-04-13st/vega: Drop st_public support.Chia-I Wu
There is no user of st_public now.
2010-04-13st/vega: Do not rely on st_resize_framebuffer.Chia-I Wu
Add vg_context_update_draw_buffer (and helpers) that duplicates the logic of st_resize_framebuffer. Use the new function instead of st_resize_framebuffer in vg_manager.c.
2010-04-11st/vega: Require both depth and stencil.Chia-I Wu
The implementation requires not only a depth buffer, but also a stencil buffer.