Lines Matching defs:device

332 nine_ff_build_vs(struct NineDevice9 *device, struct vs_build_ctx *vs)
343 const unsigned texcoord_sn = get_texcoord_sn(device->screen);
442 if (device->driver_caps.window_space_position_support) {
1063 if (key->position_t && device->driver_caps.window_space_position_support)
1068 return nine_create_shader_with_so_and_destroy(ureg, device->context.pipe, NULL);
1322 nine_ff_build_ps(struct NineDevice9 *device, struct nine_ff_ps_key *key)
1328 const unsigned texcoord_sn = get_texcoord_sn(device->screen);
1515 if (device->screen->get_param(device->screen,
1567 return nine_create_shader_with_so_and_destroy(ureg, device->context.pipe, NULL);
1571 nine_ff_get_vs(struct NineDevice9 *device)
1573 const struct nine_context *context = &device->context;
1695 vs = util_hash_table_get(device->ff.ht_vs, &key);
1698 NineVertexShader9_new(device, &vs, NULL, nine_ff_build_vs(device, &bld));
1700 nine_ff_prune_vs(device);
1706 _mesa_hash_table_insert(device->ff.ht_vs, &vs->ff_key, vs);
1707 device->ff.num_vs++;
1723 nine_ff_get_ps(struct NineDevice9 *device)
1725 struct nine_context *context = &device->context;
1846 ps = util_hash_table_get(device->ff.ht_ps, &key);
1849 NinePixelShader9_new(device, &ps, NULL, nine_ff_build_ps(device, &key));
1851 nine_ff_prune_ps(device);
1855 _mesa_hash_table_insert(device->ff.ht_ps, &ps->ff_key, ps);
1856 device->ff.num_ps++;
1865 nine_ff_load_vs_transforms(struct NineDevice9 *device)
1867 struct nine_context *context = &device->context;
1869 D3DMATRIX *M = (D3DMATRIX *)device->ff.vs_const;
1901 device->ff.vs_const[30 * 4] = asfloat(context->rs[D3DRS_TWEENFACTOR]);
1905 nine_ff_load_lights(struct NineDevice9 *device)
1907 struct nine_context *context = &device->context;
1908 struct fvec4 *dst = (struct fvec4 *)device->ff.vs_const;
1950 nine_ff_load_point_and_fog_params(struct NineDevice9 *device)
1952 struct nine_context *context = &device->context;
1953 struct fvec4 *dst = (struct fvec4 *)device->ff.vs_const;
1971 nine_ff_load_tex_matrices(struct NineDevice9 *device)
1973 struct nine_context *context = &device->context;
1974 D3DMATRIX *M = (D3DMATRIX *)device->ff.vs_const;
1986 nine_ff_load_ps_params(struct NineDevice9 *device)
1988 struct nine_context *context = &device->context;
1989 struct fvec4 *dst = (struct fvec4 *)device->ff.ps_const;
2020 nine_ff_load_viewport_info(struct NineDevice9 *device)
2022 D3DVIEWPORT9 *viewport = &device->context.viewport;
2023 struct fvec4 *dst = (struct fvec4 *)device->ff.vs_const;
2039 nine_ff_update(struct NineDevice9 *device)
2041 struct nine_context *context = &device->context;
2048 device->ff.vs = nine_ff_get_vs(device);
2052 device->ff.ps = nine_ff_get_ps(device);
2057 nine_ff_load_vs_transforms(device);
2058 nine_ff_load_tex_matrices(device);
2059 nine_ff_load_lights(device);
2060 nine_ff_load_point_and_fog_params(device);
2061 nine_ff_load_viewport_info(device);
2067 cb.user_buffer = device->ff.vs_const;
2077 nine_ff_load_ps_params(device);
2081 cb.user_buffer = device->ff.ps_const;
2093 nine_ff_init(struct NineDevice9 *device)
2095 device->ff.ht_vs = _mesa_hash_table_create(NULL, nine_ff_vs_key_hash,
2097 device->ff.ht_ps = _mesa_hash_table_create(NULL, nine_ff_ps_key_hash,
2100 device->ff.ht_fvf = _mesa_hash_table_create(NULL, nine_ff_fvf_key_hash,
2103 device->ff.vs_const = CALLOC(NINE_FF_NUM_VS_CONST, 4 * sizeof(float));
2104 device->ff.ps_const = CALLOC(NINE_FF_NUM_PS_CONST, 4 * sizeof(float));
2106 return device->ff.ht_vs && device->ff.ht_ps &&
2107 device->ff.ht_fvf &&
2108 device->ff.vs_const && device->ff.ps_const;
2118 nine_ff_fini(struct NineDevice9 *device)
2120 if (device->ff.ht_vs) {
2121 util_hash_table_foreach(device->ff.ht_vs, nine_ff_ht_delete_cb, NULL);
2122 _mesa_hash_table_destroy(device->ff.ht_vs, NULL);
2124 if (device->ff.ht_ps) {
2125 util_hash_table_foreach(device->ff.ht_ps, nine_ff_ht_delete_cb, NULL);
2126 _mesa_hash_table_destroy(device->ff.ht_ps, NULL);
2128 if (device->ff.ht_fvf) {
2129 util_hash_table_foreach(device->ff.ht_fvf, nine_ff_ht_delete_cb, NULL);
2130 _mesa_hash_table_destroy(device->ff.ht_fvf, NULL);
2132 device->ff.vs = NULL; /* destroyed by unbinding from hash table */
2133 device->ff.ps = NULL;
2135 FREE(device->ff.vs_const);
2136 FREE(device->ff.ps_const);
2140 nine_ff_prune_vs(struct NineDevice9 *device)
2142 struct nine_context *context = &device->context;
2144 if (device->ff.num_vs > 1024) {
2147 util_hash_table_foreach(device->ff.ht_vs, nine_ff_ht_delete_cb, NULL);
2148 _mesa_hash_table_clear(device->ff.ht_vs, NULL);
2149 device->ff.num_vs = 0;
2154 nine_ff_prune_ps(struct NineDevice9 *device)
2156 struct nine_context *context = &device->context;
2158 if (device->ff.num_ps > 1024) {
2161 util_hash_table_foreach(device->ff.ht_ps, nine_ff_ht_delete_cb, NULL);
2162 _mesa_hash_table_clear(device->ff.ht_ps, NULL);
2163 device->ff.num_ps = 0;