Lines Matching refs:device

68     struct NineDevice9 *device;
109 if (instr->func(ctx->device, instr)) {
164 ctx->device = This;
189 nine_csmt_process( struct NineDevice9 *device )
192 struct csmt_context *ctx = device->csmt_ctx;
194 if (!device->csmt_active)
200 DBG("device=%p\n", device);
214 nine_csmt_flush( struct NineDevice9* device )
216 if (!device->csmt_active)
219 nine_queue_flush(device->csmt_ctx->pool);
227 nine_csmt_destroy( struct NineDevice9 *device, struct csmt_context *ctx )
232 DBG("device=%p ctx=%p\n", device, ctx);
259 nine_csmt_pause( struct NineDevice9 *device )
261 struct csmt_context *ctx = device->csmt_ctx;
263 if (!device->csmt_active)
280 nine_csmt_resume( struct NineDevice9 *device )
282 struct csmt_context *ctx = device->csmt_ctx;
284 if (!device->csmt_active)
296 nine_context_get_pipe( struct NineDevice9 *device )
298 nine_csmt_process(device);
299 return device->context.pipe;
303 nine_context_get_pipe_multithread( struct NineDevice9 *device )
305 struct csmt_context *ctx = device->csmt_ctx;
307 if (!device->csmt_active)
308 return device->context.pipe;
311 nine_csmt_process(device);
313 return device->context.pipe;
317 nine_context_get_pipe_acquire( struct NineDevice9 *device )
319 nine_csmt_pause(device);
320 return device->context.pipe;
324 nine_context_get_pipe_release( struct NineDevice9 *device )
326 nine_csmt_resume(device);
330 nine_context_is_worker( struct NineDevice9 *device )
332 struct csmt_context *ctx = device->csmt_ctx;
334 if (!device->csmt_active)
345 check_multisample(struct NineDevice9 *device)
347 struct nine_context *context = &device->context;
367 prepare_blend(struct NineDevice9 *device)
369 nine_convert_blend_state(&device->context.pipe_data.blend, device->context.rs);
370 device->context.commit |= NINE_STATE_COMMIT_BLEND;
374 prepare_dsa(struct NineDevice9 *device)
376 nine_convert_dsa_state(&device->context.pipe_data.dsa, device->context.rs);
377 device->context.commit |= NINE_STATE_COMMIT_DSA;
381 prepare_rasterizer(struct NineDevice9 *device)
383 nine_convert_rasterizer_state(device, &device->context.pipe_data.rast, device->context.rs);
384 device->context.commit |= NINE_STATE_COMMIT_RASTERIZER;
388 prepare_vs_constants_userbuf_swvp(struct NineDevice9 *device)
390 struct nine_context *context = &device->context;
459 prepare_vs_constants_userbuf(struct NineDevice9 *device)
461 struct nine_context *context = &device->context;
470 prepare_vs_constants_userbuf_swvp(device);
475 int *idst = (int *)&context->vs_const_f[4 * device->max_vs_const_f];
481 int *idst = (int *)&context->vs_const_f[4 * device->max_vs_const_f];
552 prepare_ps_constants_userbuf(struct NineDevice9 *device)
554 struct nine_context *context = &device->context;
563 int *idst = (int *)&context->ps_const_f[4 * device->max_ps_const_f];
568 int *idst = (int *)&context->ps_const_f[4 * device->max_ps_const_f];
577 memcpy(&context->ps_lconstf_temp[4 * 8], &device->context.bumpmap_vars, sizeof(device->context.bumpmap_vars));
640 prepare_vs(struct NineDevice9 *device, uint8_t shader_changed)
642 struct nine_context *context = &device->context;
648 has_key_changed = NineVertexShader9_UpdateKey(vs, device);
659 vs = device->ff.vs;
677 prepare_ps(struct NineDevice9 *device, uint8_t shader_changed)
679 struct nine_context *context = &device->context;
695 ps = device->ff.ps;
712 update_framebuffer(struct NineDevice9 *device, bool is_clear)
714 struct nine_context *context = &device->context;
747 for (i = 0; i < device->caps.NumSimultaneousRTs; ++i) {
782 update_viewport(struct NineDevice9 *device)
784 struct nine_context *context = &device->context;
820 if (device->driver_bugs.buggy_barycentrics &&
835 update_vertex_elements(struct NineDevice9 *device)
837 struct nine_context *context = &device->context;
838 const struct NineVertexDeclaration9 *vdecl = device->context.vdecl;
850 vs = context->programmable_vs ? context->vs : device->ff.vs;
874 u_foreach_bit(bit, BITFIELD_MASK(device->caps.MaxStreams) & ~used_streams) {
920 update_vertex_buffers(struct NineDevice9 *device)
922 struct nine_context *context = &device->context;
932 dummy_vtxbuf.buffer.resource = device->dummy_vbo;
989 update_textures_and_samplers(struct NineDevice9 *device)
991 struct nine_context *context = &device->context;
997 device->ff.ps->sampler_mask;
1025 view[i] = device->dummy_sampler_view;
1028 s - NINE_SAMPLER_PS(0), &device->dummy_sampler_state);
1070 view[i] = device->dummy_sampler_view;
1073 s - NINE_SAMPLER_VS(0), &device->dummy_sampler_state);
1094 commit_blend(struct NineDevice9 *device)
1096 struct nine_context *context = &device->context;
1102 commit_dsa(struct NineDevice9 *device)
1104 struct nine_context *context = &device->context;
1110 commit_scissor(struct NineDevice9 *device)
1112 struct nine_context *context = &device->context;
1119 commit_rasterizer(struct NineDevice9 *device)
1121 struct nine_context *context = &device->context;
1127 commit_vs_constants(struct NineDevice9 *device)
1129 struct nine_context *context = &device->context;
1147 commit_ps_constants(struct NineDevice9 *device)
1149 struct nine_context *context = &device->context;
1159 commit_vs(struct NineDevice9 *device)
1161 struct nine_context *context = &device->context;
1168 commit_ps(struct NineDevice9 *device)
1170 struct nine_context *context = &device->context;
1211 nine_update_state(struct NineDevice9 *device)
1213 struct nine_context *context = &device->context;
1228 nine_ff_update(device);
1233 group |= prepare_vs(device, (group & NINE_STATE_VS) != 0); /* may set NINE_STATE_RASTERIZER and NINE_STATE_SAMPLER*/
1235 group |= prepare_ps(device, (group & NINE_STATE_PS) != 0);
1240 update_framebuffer(device, FALSE);
1242 prepare_blend(device);
1244 prepare_dsa(device);
1246 update_viewport(device);
1248 update_vertex_elements(device);
1253 group |= check_multisample(device);
1255 prepare_rasterizer(device);
1257 update_textures_and_samplers(device);
1259 prepare_vs_constants_userbuf(device);
1261 prepare_ps_constants_userbuf(device);
1265 update_vertex_buffers(device);
1268 commit_blend(device);
1270 commit_dsa(device);
1272 commit_rasterizer(device);
1274 commit_vs_constants(device);
1276 commit_ps_constants(device);
1278 commit_vs(device);
1280 commit_ps(device);
1291 commit_scissor(device);
1321 NineDevice9_ResolveZ( struct NineDevice9 *device )
1323 struct nine_context *context = &device->context;
1384 nine_context_set_texture_apply(struct NineDevice9 *device,
1395 nine_context_set_pixel_shader_constant_i_transformed(struct NineDevice9 *device,
1405 struct nine_context *context = &device->context;
1410 NineDevice9_ResolveZ(device);
1458 struct nine_context *context = &device->context;
1491 nine_context_set_texture(struct NineDevice9 *device,
1517 nine_context_set_texture_apply(device, Stage,
1528 struct nine_context *context = &device->context;
1556 struct nine_context *context = &device->context;
1574 nine_context_set_stream_source(struct NineDevice9 *device,
1588 nine_context_set_stream_source_apply(device, StreamNumber,
1597 struct nine_context *context = &device->context;
1615 struct nine_context *context = &device->context;
1625 nine_context_set_indices(struct NineDevice9 *device,
1637 nine_context_set_indices_apply(device, res, IndexSize, OffsetInBytes);
1643 struct nine_context *context = &device->context;
1660 struct nine_context *context = &device->context;
1680 struct nine_context *context = &device->context;
1681 float *vs_const_f = device->may_swvp ? context->vs_const_f_swvp : context->vs_const_f;
1687 if (device->may_swvp) {
1705 struct nine_context *context = &device->context;
1708 if (device->driver_caps.vs_integer) {
1731 struct nine_context *context = &device->context;
1733 uint32_t bool_true = device->driver_caps.vs_integer ? 0xFFFFFFFF : fui(1.0f);
1747 struct nine_context *context = &device->context;
1772 struct nine_context *context = &device->context;
1789 struct nine_context *context = &device->context;
1805 struct nine_context *context = &device->context;
1808 if (device->driver_caps.ps_integer) {
1830 struct nine_context *context = &device->context;
1832 uint32_t bool_true = device->driver_caps.ps_integer ? 0xFFFFFFFF : fui(1.0f);
1848 struct nine_context *context = &device->context;
1870 struct nine_context *context = &device->context;
1879 struct nine_context *context = &device->context;
1891 struct nine_context *context = &device->context;
1904 struct nine_context *context = &device->context;
1915 struct nine_context *context = &device->context;
1925 struct nine_context *context = &device->context;
1934 nine_context_light_enable_stateblock(struct NineDevice9 *device,
1938 struct nine_context *context = &device->context;
1941 nine_csmt_process(device);
1951 struct nine_context *context = &device->context;
1962 struct nine_context *context = &device->context;
2005 struct nine_context *context = &device->context;
2014 struct nine_context *context = &device->context;
2026 nine_context_apply_stateblock(struct NineDevice9 *device,
2039 nine_context_set_render_state(device, i * 32 + r, src->rs_advertised[i * 32 + r]);
2052 nine_context_set_texture(device, s, tex);
2065 nine_context_set_sampler_state(device, s, i, src->samp_advertised[s][i]);
2075 nine_context_set_stream_source(device, i, src->stream[i], src->vtxbuf[i].buffer_offset, src->vtxbuf[i].stride);
2077 nine_context_set_stream_source_freq(device, i, src->stream_freq[i]);
2083 nine_context_set_indices(device, src->idxbuf);
2087 nine_context_set_vertex_declaration(device, src->vdecl);
2091 nine_context_set_vertex_shader(device, src->vs);
2095 nine_context_set_pixel_shader(device, src->ps);
2101 nine_context_set_vertex_shader_constant_f(device, r->bgn,
2106 nine_context_set_vertex_shader_constant_i(device, r->bgn,
2111 nine_context_set_vertex_shader_constant_b(device, r->bgn,
2121 nine_context_set_pixel_shader_constant_f(device, r->bgn,
2129 nine_context_set_pixel_shader_constant_i_transformed(device, i,
2136 nine_context_set_pixel_shader_constant_b(device, i,
2143 nine_context_set_viewport(device, &src->viewport);
2147 nine_context_set_scissor(device, &src->scissor);
2153 nine_context_set_clip_plane(device, i, (struct nine_clipplane*)&src->clip.ucp[i][0]);
2161 nine_context_set_material(device, &src->ff.material);
2168 nine_context_set_texture_stage_state(device, s, i, src->ff.tex_stage[s][i]);
2174 nine_context_set_light(device, i, &src->ff.light[i]);
2176 nine_context_light_enable_stateblock(device, src->ff.active_light, src->ff.num_lights_active);
2192 nine_context_set_transform(device, s,
2202 nine_update_state_framebuffer_clear(struct NineDevice9 *device)
2204 struct nine_context *context = &device->context;
2207 update_framebuffer(device, TRUE);
2218 struct nine_context *context = &device->context;
2230 nine_update_state_framebuffer_clear(device);
2268 for (i = 0; i < device->caps.NumSimultaneousRTs; ++i) {
2296 for (i = 0; i < device->caps.NumSimultaneousRTs; ++i) {
2380 struct nine_context *context = &device->context;
2387 nine_update_state(device);
2389 init_draw_info(&info, &draw, device, PrimitiveType, PrimitiveCount);
2408 struct nine_context *context = &device->context;
2415 nine_update_state(device);
2417 init_draw_info(&info, &draw, device, PrimitiveType, PrimitiveCount);
2441 struct nine_context *context = &device->context;
2448 nine_update_state(device);
2450 init_draw_info(&info, &draw, device, PrimitiveType, PrimitiveCount);
2479 struct nine_context *context = &device->context;
2496 struct nine_context *context = &device->context;
2512 struct nine_context *context = &device->context;
2530 struct nine_context *context = &device->context;
2547 struct nine_context *context = &device->context;
2566 struct nine_context *context = &device->context;
2611 nine_context_create_query(struct NineDevice9 *device, unsigned query_type)
2616 pipe = nine_context_get_pipe_acquire(device);
2618 nine_context_get_pipe_release(device);
2625 struct nine_context *context = &device->context;
2633 struct nine_context *context = &device->context;
2641 struct nine_context *context = &device->context;
2647 nine_context_get_query_result(struct NineDevice9 *device, struct pipe_query *query,
2655 nine_csmt_process(device);
2657 if (flush && device->csmt_active)
2658 nine_queue_flush(device->csmt_ctx->pool);
2663 pipe = nine_context_get_pipe_acquire(device);
2665 nine_context_get_pipe_release(device);
2673 struct nine_context *context = &device->context;
2840 void nine_state_restore_non_cso(struct NineDevice9 *device)
2842 struct nine_context *context = &device->context;
2845 context->changed.vtxbuf = (1ULL << device->caps.MaxStreams) - 1;
2853 nine_state_set_defaults(struct NineDevice9 *device, const D3DCAPS9 *caps,
2856 struct nine_state *state = &device->state;
2857 struct nine_context *context = &device->context;
2885 memset(state->vs_const_f, 0, VS_CONST_F_SIZE(device));
2886 memset(context->vs_const_f, 0, device->vs_const_size);
2889 memset(state->vs_const_i, 0, VS_CONST_I_SIZE(device));
2890 memset(context->vs_const_i, 0, VS_CONST_I_SIZE(device));
2891 memset(state->vs_const_b, 0, VS_CONST_B_SIZE(device));
2892 memset(context->vs_const_b, 0, VS_CONST_B_SIZE(device));
2893 memset(state->ps_const_f, 0, device->ps_const_size);
2894 memset(context->ps_const_f, 0, device->ps_const_size);
2909 context->changed.vtxbuf = (1ULL << device->caps.MaxStreams) - 1;
2930 nine_device_state_clear(struct NineDevice9 *device)
2932 struct nine_state *state = &device->state;
2942 NineBindBufferToDevice(device,
2945 NineBindBufferToDevice(device,
2950 NineBindTextureToDevice(device, &state->texture[i], NULL);
2954 nine_context_clear(struct NineDevice9 *device)
2956 struct nine_context *context = &device->context;
2961 /* Early device ctor failure. Nothing to do */
2968 /* Don't unbind constant buffers, they're device-private and
2982 pipe->set_vertex_buffers(pipe, 0, 0, device->caps.MaxStreams, false, NULL);
3008 nine_context_update_state(struct NineDevice9 *device)
3010 nine_update_state(device);
3014 nine_state_init_sw(struct NineDevice9 *device)
3016 struct pipe_context *pipe_sw = device->pipe_sw;
3026 cso_set_rasterizer(device->cso_sw, &rast);
3032 cso_set_blend(device->cso_sw, &blend);
3033 cso_set_depth_stencil_alpha(device->cso_sw, &dsa);
3034 cso_set_framebuffer(device->cso_sw, &fb);
3035 cso_set_viewport_dims(device->cso_sw, 1.0, 1.0, false);
3036 cso_set_fragment_shader_handle(device->cso_sw, util_make_empty_fragment_shader(pipe_sw));
3043 update_vertex_elements_sw(struct NineDevice9 *device)
3045 struct nine_state *state = &device->state;
3046 const struct NineVertexDeclaration9 *vdecl = device->state.vdecl;
3051 int8_t used_streams[device->caps.MaxStreams];
3058 memset(used_streams, 0, device->caps.MaxStreams);
3059 vs = programmable_vs ? device->state.vs : device->ff.vs;
3083 for (i = 0; i < device->caps.MaxStreams; i++ ) {
3115 cso_set_vertex_elements(device->cso_sw, &ve);
3119 update_vertex_buffers_sw(struct NineDevice9 *device, int start_vertice, int num_vertices)
3121 struct pipe_context *pipe = nine_context_get_pipe_acquire(device);
3122 struct pipe_context *pipe_sw = device->pipe_sw;
3123 struct nine_state *state = &device->state;
3124 struct nine_state_sw_internal *sw_internal = &device->state_sw_internal;
3155 if (!device->driver_caps.user_sw_vbufs) {
3158 u_upload_data(device->pipe_sw->stream_uploader,
3165 u_upload_unmap(device->pipe_sw->stream_uploader);
3173 nine_context_get_pipe_release(device);
3177 update_vs_constants_sw(struct NineDevice9 *device)
3179 struct nine_state *state = &device->state;
3180 struct pipe_context *pipe_sw = device->pipe_sw;
3194 const struct nine_lconstf *lconstf = &device->state.vs->lconstf;
3197 float *dst = device->state.vs_lconstf_temp;
3251 const D3DVIEWPORT9 *vport = &device->state.viewport;
3264 u_upload_data(device->pipe_sw->const_uploader,
3271 u_upload_unmap(device->pipe_sw->const_uploader);
3283 nine_state_prepare_draw_sw(struct NineDevice9 *device, struct NineVertexDeclaration9 *vdecl_out,
3286 struct nine_state *state = &device->state;
3288 struct NineVertexShader9 *vs = programmable_vs ? device->state.vs : device->ff.vs;
3293 cso_set_vertex_shader_handle(device->cso_sw,
3295 update_vertex_elements_sw(device);
3296 update_vertex_buffers_sw(device, start_vertice, num_vertices);
3297 update_vs_constants_sw(device);
3302 nine_state_after_draw_sw(struct NineDevice9 *device)
3304 struct nine_state_sw_internal *sw_internal = &device->state_sw_internal;
3305 struct pipe_context *pipe = nine_context_get_pipe_acquire(device);
3306 struct pipe_context *pipe_sw = device->pipe_sw;
3315 nine_context_get_pipe_release(device);
3319 nine_state_destroy_sw(struct NineDevice9 *device)
3321 (void) device;