Lines Matching defs:context

1068     return nine_create_shader_with_so_and_destroy(ureg, device->context.pipe, NULL);
1567 return nine_create_shader_with_so_and_destroy(ureg, device->context.pipe, NULL);
1573 const struct nine_context *context = &device->context;
1591 if (context->vdecl) {
1594 for (i = 0; i < context->vdecl->nelems; i++) {
1595 uint16_t usage = context->vdecl->usage_map[i];
1616 input_texture_coord[s] = nine_decltype_get_dim(context->vdecl->decls[i].Type);
1630 key.pointscale = !!context->rs[D3DRS_POINTSCALEENABLE];
1632 key.lighting = !!context->rs[D3DRS_LIGHTING] && context->ff.num_lights_active;
1633 key.darkness = !!context->rs[D3DRS_LIGHTING] && !context->ff.num_lights_active;
1638 if ((key.lighting | key.darkness) && context->rs[D3DRS_COLORVERTEX]) {
1640 key.mtl_diffuse = context->rs[D3DRS_DIFFUSEMATERIALSOURCE] & mask;
1641 key.mtl_ambient = context->rs[D3DRS_AMBIENTMATERIALSOURCE] & mask;
1642 key.mtl_specular = context->rs[D3DRS_SPECULARMATERIALSOURCE] & mask;
1643 key.mtl_emissive = context->rs[D3DRS_EMISSIVEMATERIALSOURCE] & mask;
1645 key.fog = !!context->rs[D3DRS_FOGENABLE];
1646 key.fog_mode = (!key.position_t && context->rs[D3DRS_FOGENABLE]) ? context->rs[D3DRS_FOGVERTEXMODE] : 0;
1648 key.fog_range = context->rs[D3DRS_RANGEFOGENABLE];
1650 key.localviewer = !!context->rs[D3DRS_LOCALVIEWER];
1651 key.normalizenormals = !!context->rs[D3DRS_NORMALIZENORMALS];
1652 key.ucp = !!context->rs[D3DRS_CLIPPLANEENABLE];
1654 if (context->rs[D3DRS_VERTEXBLEND] != D3DVBF_DISABLE) {
1655 key.vertexblend_indexed = !!context->rs[D3DRS_INDEXEDVERTEXBLENDENABLE] && has_indexes;
1657 switch (context->rs[D3DRS_VERTEXBLEND]) {
1667 if (!has_weights && context->rs[D3DRS_VERTEXBLEND] != D3DVBF_0WEIGHTS)
1672 unsigned gen = (context->ff.tex_stage[s][D3DTSS_TEXCOORDINDEX] >> 16) + 1;
1673 unsigned idx = context->ff.tex_stage[s][D3DTSS_TEXCOORDINDEX] & 7;
1686 dim = context->ff.tex_stage[s][D3DTSS_TEXTURETRANSFORMFLAGS] & 0x7;
1719 #define GET_D3DTS(n) nine_state_access_transform(&context->ff, D3DTS_##n, FALSE)
1725 struct nine_context *context = &device->context;
1736 key.ts[s].colorop = context->ff.tex_stage[s][D3DTSS_COLOROP];
1737 key.ts[s].alphaop = context->ff.tex_stage[s][D3DTSS_ALPHAOP];
1748 if (!context->texture[s].enabled &&
1749 ((context->ff.tex_stage[s][D3DTSS_COLORARG0] == D3DTA_TEXTURE &&
1751 (context->ff.tex_stage[s][D3DTSS_COLORARG1] == D3DTA_TEXTURE &&
1753 (context->ff.tex_stage[s][D3DTSS_COLORARG2] == D3DTA_TEXTURE &&
1764 if (context->ff.tex_stage[s][D3DTSS_COLORARG0] == D3DTA_TEXTURE ||
1765 context->ff.tex_stage[s][D3DTSS_COLORARG1] == D3DTA_TEXTURE ||
1766 context->ff.tex_stage[s][D3DTSS_COLORARG2] == D3DTA_TEXTURE ||
1767 context->ff.tex_stage[s][D3DTSS_ALPHAARG0] == D3DTA_TEXTURE ||
1768 context->ff.tex_stage[s][D3DTSS_ALPHAARG1] == D3DTA_TEXTURE ||
1769 context->ff.tex_stage[s][D3DTSS_ALPHAARG2] == D3DTA_TEXTURE)
1773 if (used_c & 0x1) key.ts[s].colorarg0 = context->ff.tex_stage[s][D3DTSS_COLORARG0] & 0x7;
1774 if (used_c & 0x2) key.ts[s].colorarg1 = context->ff.tex_stage[s][D3DTSS_COLORARG1] & 0x7;
1775 if (used_c & 0x4) key.ts[s].colorarg2 = context->ff.tex_stage[s][D3DTSS_COLORARG2] & 0x7;
1776 if (used_c & 0x1) key.colorarg_b4[0] |= ((context->ff.tex_stage[s][D3DTSS_COLORARG0] >> 4) & 0x1) << s;
1777 if (used_c & 0x1) key.colorarg_b5[0] |= ((context->ff.tex_stage[s][D3DTSS_COLORARG0] >> 5) & 0x1) << s;
1778 if (used_c & 0x2) key.colorarg_b4[1] |= ((context->ff.tex_stage[s][D3DTSS_COLORARG1] >> 4) & 0x1) << s;
1779 if (used_c & 0x2) key.colorarg_b5[1] |= ((context->ff.tex_stage[s][D3DTSS_COLORARG1] >> 5) & 0x1) << s;
1780 if (used_c & 0x4) key.colorarg_b4[2] |= ((context->ff.tex_stage[s][D3DTSS_COLORARG2] >> 4) & 0x1) << s;
1781 if (used_c & 0x4) key.colorarg_b5[2] |= ((context->ff.tex_stage[s][D3DTSS_COLORARG2] >> 5) & 0x1) << s;
1784 if (used_a & 0x1) key.ts[s].alphaarg0 = context->ff.tex_stage[s][D3DTSS_ALPHAARG0] & 0x7;
1785 if (used_a & 0x2) key.ts[s].alphaarg1 = context->ff.tex_stage[s][D3DTSS_ALPHAARG1] & 0x7;
1786 if (used_a & 0x4) key.ts[s].alphaarg2 = context->ff.tex_stage[s][D3DTSS_ALPHAARG2] & 0x7;
1787 if (used_a & 0x1) key.alphaarg_b4[0] |= ((context->ff.tex_stage[s][D3DTSS_ALPHAARG0] >> 4) & 0x1) << s;
1788 if (used_a & 0x2) key.alphaarg_b4[1] |= ((context->ff.tex_stage[s][D3DTSS_ALPHAARG1] >> 4) & 0x1) << s;
1789 if (used_a & 0x4) key.alphaarg_b4[2] |= ((context->ff.tex_stage[s][D3DTSS_ALPHAARG2] >> 4) & 0x1) << s;
1791 key.ts[s].resultarg = context->ff.tex_stage[s][D3DTSS_RESULTARG] == D3DTA_TEMP;
1793 if (context->texture[s].enabled) {
1794 switch (context->texture[s].type) {
1827 key.projected = nine_ff_get_projected_key_ff(context);
1828 key.specular = !!context->rs[D3DRS_SPECULARENABLE];
1832 if (context->rs[D3DRS_FOGENABLE])
1833 key.fog_mode = context->rs[D3DRS_FOGTABLEMODE];
1834 key.fog = !!context->rs[D3DRS_FOGENABLE];
1841 key.fog_source = !context->programmable_vs &&
1867 struct nine_context *context = &device->context;
1875 if (IS_D3DTS_DIRTY(context, WORLD) ||
1876 IS_D3DTS_DIRTY(context, VIEW) ||
1877 IS_D3DTS_DIRTY(context, PROJECTION)) {
1894 if (context->rs[D3DRS_VERTEXBLEND] != D3DVBF_DISABLE) {
1901 device->ff.vs_const[30 * 4] = asfloat(context->rs[D3DRS_TWEENFACTOR]);
1907 struct nine_context *context = &device->context;
1911 if (context->changed.group & NINE_STATE_FF_MATERIAL) {
1912 const D3DMATERIAL9 *mtl = &context->ff.material;
1919 d3dcolor_to_rgba(&dst[25].x, context->rs[D3DRS_AMBIENT]);
1925 if (!(context->changed.group & NINE_STATE_FF_LIGHTING))
1928 for (l = 0; l < context->ff.num_lights_active; ++l) {
1929 const D3DLIGHT9 *light = &context->ff.light[context->ff.active_light[l]];
1945 dst[39 + l * 8].w = (float)((l + 1) == context->ff.num_lights_active);
1952 struct nine_context *context = &device->context;
1955 if (!(context->changed.group & NINE_STATE_FF_VS_OTHER))
1957 dst[26].x = asfloat(context->rs[D3DRS_POINTSIZE_MIN]);
1958 dst[26].y = asfloat(context->rs[D3DRS_POINTSIZE_MAX]);
1959 dst[26].z = asfloat(context->rs[D3DRS_POINTSIZE]);
1960 dst[26].w = asfloat(context->rs[D3DRS_POINTSCALE_A]);
1961 dst[27].x = asfloat(context->rs[D3DRS_POINTSCALE_B]);
1962 dst[27].y = asfloat(context->rs[D3DRS_POINTSCALE_C]);
1963 dst[28].x = asfloat(context->rs[D3DRS_FOGEND]);
1964 dst[28].y = 1.0f / (asfloat(context->rs[D3DRS_FOGEND]) - asfloat(context->rs[D3DRS_FOGSTART]));
1967 dst[28].z = asfloat(context->rs[D3DRS_FOGDENSITY]);
1973 struct nine_context *context = &device->context;
1977 if (!(context->ff.changed.transform[0] & 0xff0000))
1980 if (IS_D3DTS_DIRTY(context, TEXTURE0 + s))
1981 nine_d3d_matrix_transpose(&M[32 + s], nine_state_access_transform(&context->ff, D3DTS_TEXTURE0 + s, FALSE));
1988 struct nine_context *context = &device->context;
1992 if (!(context->changed.group & NINE_STATE_FF_PS_CONSTS))
1996 d3dcolor_to_rgba(&dst[s].x, context->ff.tex_stage[s][D3DTSS_CONSTANT]);
1999 dst[8 + s].x = asfloat(context->ff.tex_stage[s][D3DTSS_BUMPENVMAT00]);
2000 dst[8 + s].y = asfloat(context->ff.tex_stage[s][D3DTSS_BUMPENVMAT01]);
2001 dst[8 + s].z = asfloat(context->ff.tex_stage[s][D3DTSS_BUMPENVMAT10]);
2002 dst[8 + s].w = asfloat(context->ff.tex_stage[s][D3DTSS_BUMPENVMAT11]);
2004 dst[16 + s / 2].z = asfloat(context->ff.tex_stage[s][D3DTSS_BUMPENVLSCALE]);
2005 dst[16 + s / 2].w = asfloat(context->ff.tex_stage[s][D3DTSS_BUMPENVLOFFSET]);
2007 dst[16 + s / 2].x = asfloat(context->ff.tex_stage[s][D3DTSS_BUMPENVLSCALE]);
2008 dst[16 + s / 2].y = asfloat(context->ff.tex_stage[s][D3DTSS_BUMPENVLOFFSET]);
2012 d3dcolor_to_rgba(&dst[20].x, context->rs[D3DRS_TEXTUREFACTOR]);
2013 d3dcolor_to_rgba(&dst[21].x, context->rs[D3DRS_FOGCOLOR]);
2014 dst[22].x = asfloat(context->rs[D3DRS_FOGEND]);
2015 dst[22].y = 1.0f / (asfloat(context->rs[D3DRS_FOGEND]) - asfloat(context->rs[D3DRS_FOGSTART]));
2016 dst[22].z = asfloat(context->rs[D3DRS_FOGDENSITY]);
2022 D3DVIEWPORT9 *viewport = &device->context.viewport;
2041 struct nine_context *context = &device->context;
2044 DBG("vs=%p ps=%p\n", context->vs, context->ps);
2047 if (!context->programmable_vs) {
2049 context->changed.group |= NINE_STATE_VS;
2051 if (!context->ps) {
2053 context->changed.group |= NINE_STATE_PS;
2056 if (!context->programmable_vs) {
2063 memset(context->ff.changed.transform, 0, sizeof(context->ff.changed.transform));
2070 context->pipe_data.cb_vs_ff = cb;
2071 context->commit |= NINE_STATE_COMMIT_CONST_VS;
2073 context->changed.group &= ~NINE_STATE_FF_VS;
2076 if (!context->ps) {
2084 context->pipe_data.cb_ps_ff = cb;
2085 context->commit |= NINE_STATE_COMMIT_CONST_PS;
2087 context->changed.group &= ~NINE_STATE_FF_PS;
2142 struct nine_context *context = &device->context;
2146 context->pipe->bind_vs_state(context->pipe, NULL);
2150 context->changed.group |= NINE_STATE_VS;
2156 struct nine_context *context = &device->context;
2160 context->pipe->bind_fs_state(context->pipe, NULL);
2164 context->changed.group |= NINE_STATE_PS;