diff options
author | Chia-I Wu <[email protected]> | 2010-12-03 00:44:43 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2010-12-03 14:23:04 +0800 |
commit | a84a1e344f544ec4da61809d4f09853a94d93e07 (patch) | |
tree | d1d141510e4a3b64c58e7596b2127749b320a067 /src/gallium/state_trackers/vega/renderer.h | |
parent | 29bea39fde0b3be89a34bf0d979f33f601412eee (diff) |
st/vega: Move vertex transformation to shader.
It was done in path-to-polygon conversion. That meant that the
results were invalidated when the transformation was modified, and CPU
had to recreate the vertex buffer with new vertices. It could be a
performance hit for apps that animate.
Diffstat (limited to 'src/gallium/state_trackers/vega/renderer.h')
-rw-r--r-- | src/gallium/state_trackers/vega/renderer.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/vega/renderer.h b/src/gallium/state_trackers/vega/renderer.h index a21d78af252..fe719936580 100644 --- a/src/gallium/state_trackers/vega/renderer.h +++ b/src/gallium/state_trackers/vega/renderer.h @@ -41,6 +41,7 @@ struct pipe_sampler_view; struct pipe_surface; struct pipe_vertex_element; struct pipe_vertex_buffer; +struct matrix; struct renderer *renderer_create(struct vg_context *owner); void renderer_destroy(struct renderer *); @@ -54,12 +55,14 @@ void renderer_validate_for_shader(struct renderer *renderer, const struct pipe_sampler_state **samplers, struct pipe_sampler_view **views, VGint num_samplers, + const struct matrix *modelview, void *fs, const void *const_buffer, VGint const_buffer_len); void renderer_validate_for_mask_rendering(struct renderer *renderer, - struct pipe_surface *dst); + struct pipe_surface *dst, + const struct matrix *modelview); VGboolean renderer_copy_begin(struct renderer *renderer, struct pipe_surface *dst, |