summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvc0/nvc0_context.c
diff options
context:
space:
mode:
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>2012-04-14 23:56:56 +0200
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>2012-04-15 00:08:51 +0200
commite44089b2f79aa2dcaacf348911433d1e21235c0c (patch)
tree955d621392f0068ef8e3c98dc46195ff3916525e /src/gallium/drivers/nvc0/nvc0_context.c
parent69a921892d2303f1400576aa73980c28880f8654 (diff)
nvc0: add initial support for nve4+ (Kepler) chipsets
Most things that work on Fermi should work on Kepler too. There are a few performance optimizations left to do, like better placement of texture barriers and adding scheduling data to the shader instructions (without them, a thread group will be masked for 32 cycles after each single instruction issue).
Diffstat (limited to 'src/gallium/drivers/nvc0/nvc0_context.c')
-rw-r--r--src/gallium/drivers/nvc0/nvc0_context.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/gallium/drivers/nvc0/nvc0_context.c b/src/gallium/drivers/nvc0/nvc0_context.c
index 461ceb14c45..8abac09ffd5 100644
--- a/src/gallium/drivers/nvc0/nvc0_context.c
+++ b/src/gallium/drivers/nvc0/nvc0_context.c
@@ -133,10 +133,7 @@ nvc0_create(struct pipe_screen *pscreen, void *priv)
133 goto out_err; 133 goto out_err;
134 134
135 nvc0->screen = screen; 135 nvc0->screen = screen;
136 nvc0->base.screen = &screen->base; 136 nvc0->base.screen = &screen->base;
137 nvc0->base.copy_data = nvc0_m2mf_copy_linear;
138 nvc0->base.push_data = nvc0_m2mf_push_linear;
139 nvc0->base.push_cb = nvc0_cb_push;
140 137
141 pipe->screen = pscreen; 138 pipe->screen = pscreen;
142 pipe->priv = priv; 139 pipe->priv = priv;
@@ -158,6 +155,7 @@ nvc0_create(struct pipe_screen *pscreen, void *priv)
158 nvc0_init_query_functions(nvc0); 155 nvc0_init_query_functions(nvc0);
159 nvc0_init_surface_functions(nvc0); 156 nvc0_init_surface_functions(nvc0);
160 nvc0_init_state_functions(nvc0); 157 nvc0_init_state_functions(nvc0);
158 nvc0_init_transfer_functions(nvc0);
161 nvc0_init_resource_functions(pipe); 159 nvc0_init_resource_functions(pipe);
162 160
163 nvc0->draw = draw_create(pipe); 161 nvc0->draw = draw_create(pipe);
@@ -174,7 +172,7 @@ nvc0_create(struct pipe_screen *pscreen, void *priv)
174 flags = NOUVEAU_BO_VRAM | NOUVEAU_BO_RD; 172 flags = NOUVEAU_BO_VRAM | NOUVEAU_BO_RD;
175 173
176 BCTX_REFN_bo(nvc0->bufctx_3d, SCREEN, flags, screen->text); 174 BCTX_REFN_bo(nvc0->bufctx_3d, SCREEN, flags, screen->text);
177 BCTX_REFN_bo(nvc0->bufctx_3d, SCREEN, flags, screen->uniforms); 175 BCTX_REFN_bo(nvc0->bufctx_3d, SCREEN, flags, screen->uniform_bo);
178 BCTX_REFN_bo(nvc0->bufctx_3d, SCREEN, flags, screen->txc); 176 BCTX_REFN_bo(nvc0->bufctx_3d, SCREEN, flags, screen->txc);
179 177
180 flags = NOUVEAU_BO_GART | NOUVEAU_BO_WR; 178 flags = NOUVEAU_BO_GART | NOUVEAU_BO_WR;