| } | } | ||||
| /* | |||||
| * Is referenced functions | |||||
| */ | |||||
| static unsigned int | |||||
| i915_is_resource_referenced(struct pipe_context *pipe, | |||||
| struct pipe_resource *texture, | |||||
| unsigned face, unsigned level) | |||||
| { | |||||
| /** | |||||
| * FIXME: Return the corrent result. We can't alays return referenced | |||||
| * since it causes a double flush within the vbo module. | |||||
| */ | |||||
| #if 0 | |||||
| return PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE; | |||||
| #else | |||||
| return 0; | |||||
| #endif | |||||
| } | |||||
| /* | /* | ||||
| i915->base.draw_elements = i915_draw_elements; | i915->base.draw_elements = i915_draw_elements; | ||||
| i915->base.draw_range_elements = i915_draw_range_elements; | i915->base.draw_range_elements = i915_draw_range_elements; | ||||
| i915->base.is_resource_referenced = i915_is_resource_referenced; | |||||
| /* | /* | ||||
| * Create drawing context and plug our rendering stage into it. | * Create drawing context and plug our rendering stage into it. | ||||
| */ | */ |
| void | void | ||||
| i915_init_resource_functions(struct i915_context *i915 ) | i915_init_resource_functions(struct i915_context *i915 ) | ||||
| { | { | ||||
| i915->base.is_resource_referenced = u_default_is_resource_referenced; | |||||
| i915->base.get_transfer = u_get_transfer_vtbl; | i915->base.get_transfer = u_get_transfer_vtbl; | ||||
| i915->base.transfer_map = u_transfer_map_vtbl; | i915->base.transfer_map = u_transfer_map_vtbl; | ||||
| i915->base.transfer_flush_region = u_transfer_flush_region_vtbl; | i915->base.transfer_flush_region = u_transfer_flush_region_vtbl; |
| { | { | ||||
| i915_buffer_get_handle, /* get_handle */ | i915_buffer_get_handle, /* get_handle */ | ||||
| i915_buffer_destroy, /* resource_destroy */ | i915_buffer_destroy, /* resource_destroy */ | ||||
| NULL, /* is_resource_referenced */ | |||||
| u_default_get_transfer, /* get_transfer */ | u_default_get_transfer, /* get_transfer */ | ||||
| u_default_transfer_destroy, /* transfer_destroy */ | u_default_transfer_destroy, /* transfer_destroy */ | ||||
| i915_buffer_transfer_map, /* transfer_map */ | i915_buffer_transfer_map, /* transfer_map */ |
| { | { | ||||
| i915_texture_get_handle, /* get_handle */ | i915_texture_get_handle, /* get_handle */ | ||||
| i915_texture_destroy, /* resource_destroy */ | i915_texture_destroy, /* resource_destroy */ | ||||
| NULL, /* is_resource_referenced */ | |||||
| u_default_get_transfer, /* get_transfer */ | u_default_get_transfer, /* get_transfer */ | ||||
| u_default_transfer_destroy, /* transfer_destroy */ | u_default_transfer_destroy, /* transfer_destroy */ | ||||
| i915_texture_transfer_map, /* transfer_map */ | i915_texture_transfer_map, /* transfer_map */ |