summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/vega/renderer.h
diff options
context:
space:
mode:
authorChia-I Wu <olv@lunarg.com>2010-12-03 00:44:43 +0800
committerChia-I Wu <olv@lunarg.com>2010-12-03 14:23:04 +0800
commita84a1e344f544ec4da61809d4f09853a94d93e07 (patch)
treed1d141510e4a3b64c58e7596b2127749b320a067 /src/gallium/state_trackers/vega/renderer.h
parent29bea39fde0b3be89a34bf0d979f33f601412eee (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.h5
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 a21d78af25..fe71993658 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,