Lines Matching refs:stateblock

201  * along with their set/changed flags on the given stateblock object
252 /* Set all members of a stateblock savedstate to the given value */
339 void stateblock_init_contained_states(IWineD3DStateBlockImpl *stateblock)
341 IWineD3DDeviceImpl *device = stateblock->device;
346 DWORD map = stateblock->changed.renderState[i];
351 stateblock->contained_render_states[stateblock->num_contained_render_states] = (i << 5) | j;
352 ++stateblock->num_contained_render_states;
358 DWORD map = stateblock->changed.transform[i];
363 stateblock->contained_transform_states[stateblock->num_contained_transform_states] = (i << 5) | j;
364 ++stateblock->num_contained_transform_states;
370 if (stateblock->changed.vertexShaderConstantsF[i])
372 stateblock->contained_vs_consts_f[stateblock->num_contained_vs_consts_f] = i;
373 ++stateblock->num_contained_vs_consts_f;
379 if (stateblock->changed.vertexShaderConstantsI & (1 << i))
381 stateblock->contained_vs_consts_i[stateblock->num_contained_vs_consts_i] = i;
382 ++stateblock->num_contained_vs_consts_i;
388 if (stateblock->changed.vertexShaderConstantsB & (1 << i))
390 stateblock->contained_vs_consts_b[stateblock->num_contained_vs_consts_b] = i;
391 ++stateblock->num_contained_vs_consts_b;
397 if (stateblock->changed.pixelShaderConstantsF[i])
399 stateblock->contained_ps_consts_f[stateblock->num_contained_ps_consts_f] = i;
400 ++stateblock->num_contained_ps_consts_f;
406 if (stateblock->changed.pixelShaderConstantsI & (1 << i))
408 stateblock->contained_ps_consts_i[stateblock->num_contained_ps_consts_i] = i;
409 ++stateblock->num_contained_ps_consts_i;
415 if (stateblock->changed.pixelShaderConstantsB & (1 << i))
417 stateblock->contained_ps_consts_b[stateblock->num_contained_ps_consts_b] = i;
418 ++stateblock->num_contained_ps_consts_b;
424 DWORD map = stateblock->changed.textureState[i];
430 stateblock->contained_tss_states[stateblock->num_contained_tss_states].stage = i;
431 stateblock->contained_tss_states[stateblock->num_contained_tss_states].state = j;
432 ++stateblock->num_contained_tss_states;
438 DWORD map = stateblock->changed.samplerState[i];
444 stateblock->contained_sampler_states[stateblock->num_contained_sampler_states].stage = i;
445 stateblock->contained_sampler_states[stateblock->num_contained_sampler_states].state = j;
446 ++stateblock->num_contained_sampler_states;
451 static void stateblock_init_lights(IWineD3DStateBlockImpl *stateblock, struct list *light_map)
464 list_add_tail(&stateblock->lightMap[i], &dst_light->entry);
515 TRACE("Vertex buffer still referenced by stateblock, applications has leaked Stream %u, buffer %p\n", counter, This->streamSource[counter]);
587 WARN("Light %u in stateblock %p does not exist in device stateblock %p.\n",
1083 /* TODO: make a special stateblock type for the primary stateblock (it never gets applied so it doesn't need a real type) */
1335 HRESULT stateblock_init(IWineD3DStateBlockImpl *stateblock, IWineD3DDeviceImpl *device, WINED3DSTATEBLOCKTYPE type)
1340 stateblock->lpVtbl = &IWineD3DStateBlock_Vtbl;
1341 stateblock->ref = 1;
1342 stateblock->device = device;
1343 stateblock->blockType = type;
1347 list_init(&stateblock->lightMap[i]);
1350 hr = stateblock_allocate_shader_constants(stateblock);
1353 /* The WINED3DSBT_INIT stateblock type is used during initialization to
1354 * produce a placeholder stateblock so other functions called can update a
1363 stateblock_init_lights(stateblock, device->stateBlock->lightMap);
1364 stateblock_savedstates_set_all(&stateblock->changed, device->d3d_vshader_constantF,
1369 stateblock_savedstates_set_pixel(&stateblock->changed, device->d3d_pshader_constantF);
1373 stateblock_init_lights(stateblock, device->stateBlock->lightMap);
1374 stateblock_savedstates_set_vertex(&stateblock->changed, device->d3d_vshader_constantF);
1382 stateblock_init_contained_states(stateblock);
1383 IWineD3DStateBlockImpl_Capture((IWineD3DStateBlock *)stateblock);