From 9a07435ff885277aba670eb59c039a748175c702 Mon Sep 17 00:00:00 2001 From: Jose Fonseca Date: Fri, 27 Feb 2015 14:43:51 +0000 Subject: [PATCH] identity: Remove. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It's unmaintained, and most likely broken: I use trace driver every now and then, and everytime I do I need to fix it up. It's also unused: identity_screen_create is never called. Above all, it's dead weight: if identity driver had the infrastructure for other pass-through drivers (like trace and rbug), then it would make sense on its own right. But as it is implemmented, it's just another driver to (forget) to update whenever there is a gallium interface change. Reviewed-by: Marek Olšák --- configure.ac | 1 - src/gallium/Makefile.am | 1 - src/gallium/SConscript | 1 - src/gallium/drivers/identity/Makefile.am | 11 - src/gallium/drivers/identity/Makefile.sources | 8 - src/gallium/drivers/identity/SConscript | 12 - src/gallium/drivers/identity/id_context.c | 883 ------------------ src/gallium/drivers/identity/id_context.h | 52 -- src/gallium/drivers/identity/id_objects.c | 189 ---- src/gallium/drivers/identity/id_objects.h | 177 ---- src/gallium/drivers/identity/id_public.h | 37 - src/gallium/drivers/identity/id_screen.c | 286 ------ src/gallium/drivers/identity/id_screen.h | 48 - src/gallium/targets/egl-static/Makefile.am | 1 - 14 files changed, 1707 deletions(-) delete mode 100644 src/gallium/drivers/identity/Makefile.am delete mode 100644 src/gallium/drivers/identity/Makefile.sources delete mode 100644 src/gallium/drivers/identity/SConscript delete mode 100644 src/gallium/drivers/identity/id_context.c delete mode 100644 src/gallium/drivers/identity/id_context.h delete mode 100644 src/gallium/drivers/identity/id_objects.c delete mode 100644 src/gallium/drivers/identity/id_objects.h delete mode 100644 src/gallium/drivers/identity/id_public.h delete mode 100644 src/gallium/drivers/identity/id_screen.c delete mode 100644 src/gallium/drivers/identity/id_screen.h diff --git a/configure.ac b/configure.ac index 5fbb7bc31da..2ba79ef7255 100644 --- a/configure.ac +++ b/configure.ac @@ -2361,7 +2361,6 @@ AC_CONFIG_FILES([Makefile src/gallium/drivers/freedreno/Makefile src/gallium/drivers/galahad/Makefile src/gallium/drivers/i915/Makefile - src/gallium/drivers/identity/Makefile src/gallium/drivers/ilo/Makefile src/gallium/drivers/llvmpipe/Makefile src/gallium/drivers/noop/Makefile diff --git a/src/gallium/Makefile.am b/src/gallium/Makefile.am index 6a2a866549c..f6bf3c00575 100644 --- a/src/gallium/Makefile.am +++ b/src/gallium/Makefile.am @@ -12,7 +12,6 @@ SUBDIRS += auxiliary SUBDIRS += \ drivers/galahad \ - drivers/identity \ drivers/noop \ drivers/trace \ drivers/rbug diff --git a/src/gallium/SConscript b/src/gallium/SConscript index 25d0af6f9ca..37767b5e915 100644 --- a/src/gallium/SConscript +++ b/src/gallium/SConscript @@ -13,7 +13,6 @@ SConscript('auxiliary/SConscript') # These are common and work across all platforms SConscript([ 'drivers/galahad/SConscript', - 'drivers/identity/SConscript', 'drivers/llvmpipe/SConscript', 'drivers/rbug/SConscript', 'drivers/softpipe/SConscript', diff --git a/src/gallium/drivers/identity/Makefile.am b/src/gallium/drivers/identity/Makefile.am deleted file mode 100644 index 0a496331855..00000000000 --- a/src/gallium/drivers/identity/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -include Makefile.sources -include $(top_srcdir)/src/gallium/Automake.inc - -AM_CFLAGS = \ - $(GALLIUM_DRIVER_CFLAGS) - -noinst_LTLIBRARIES = libidentity.la - -libidentity_la_SOURCES = $(C_SOURCES) - -EXTRA_DIST = SConscript diff --git a/src/gallium/drivers/identity/Makefile.sources b/src/gallium/drivers/identity/Makefile.sources deleted file mode 100644 index e3e34a85589..00000000000 --- a/src/gallium/drivers/identity/Makefile.sources +++ /dev/null @@ -1,8 +0,0 @@ -C_SOURCES := \ - id_context.c \ - id_context.h \ - id_objects.c \ - id_objects.h \ - id_public.h \ - id_screen.c \ - id_screen.h diff --git a/src/gallium/drivers/identity/SConscript b/src/gallium/drivers/identity/SConscript deleted file mode 100644 index 120995143d2..00000000000 --- a/src/gallium/drivers/identity/SConscript +++ /dev/null @@ -1,12 +0,0 @@ -Import('*') - -env = env.Clone() - -identity = env.ConvenienceLibrary( - target = 'identity', - source = env.ParseSourceList('Makefile.sources', 'C_SOURCES') - ) - -env.Alias('identity', identity) - -Export('identity') diff --git a/src/gallium/drivers/identity/id_context.c b/src/gallium/drivers/identity/id_context.c deleted file mode 100644 index 97b39671fce..00000000000 --- a/src/gallium/drivers/identity/id_context.c +++ /dev/null @@ -1,883 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - - -#include "pipe/p_context.h" -#include "util/u_memory.h" -#include "util/u_inlines.h" - -#include "id_context.h" -#include "id_objects.h" - - -static void -identity_destroy(struct pipe_context *_pipe) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->destroy(pipe); - - FREE(id_pipe); -} - -static void -identity_draw_vbo(struct pipe_context *_pipe, - const struct pipe_draw_info *info) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->draw_vbo(pipe, info); -} - -static struct pipe_query * -identity_create_query(struct pipe_context *_pipe, - unsigned query_type, - unsigned index) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - return pipe->create_query(pipe, - query_type, - index); -} - -static void -identity_destroy_query(struct pipe_context *_pipe, - struct pipe_query *query) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->destroy_query(pipe, - query); -} - -static void -identity_begin_query(struct pipe_context *_pipe, - struct pipe_query *query) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->begin_query(pipe, - query); -} - -static void -identity_end_query(struct pipe_context *_pipe, - struct pipe_query *query) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->end_query(pipe, - query); -} - -static boolean -identity_get_query_result(struct pipe_context *_pipe, - struct pipe_query *query, - boolean wait, - union pipe_query_result *result) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - return pipe->get_query_result(pipe, - query, - wait, - result); -} - -static void * -identity_create_blend_state(struct pipe_context *_pipe, - const struct pipe_blend_state *blend) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - return pipe->create_blend_state(pipe, - blend); -} - -static void -identity_bind_blend_state(struct pipe_context *_pipe, - void *blend) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->bind_blend_state(pipe, - blend); -} - -static void -identity_delete_blend_state(struct pipe_context *_pipe, - void *blend) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->delete_blend_state(pipe, - blend); -} - -static void * -identity_create_sampler_state(struct pipe_context *_pipe, - const struct pipe_sampler_state *sampler) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - return pipe->create_sampler_state(pipe, - sampler); -} - -static void -identity_bind_sampler_states(struct pipe_context *_pipe, - unsigned shader, - unsigned start, - unsigned num_samplers, - void **samplers) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->bind_sampler_states(pipe, shader, start, num_samplers, samplers); -} - -static void -identity_delete_sampler_state(struct pipe_context *_pipe, - void *sampler) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->delete_sampler_state(pipe, - sampler); -} - -static void * -identity_create_rasterizer_state(struct pipe_context *_pipe, - const struct pipe_rasterizer_state *rasterizer) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - return pipe->create_rasterizer_state(pipe, - rasterizer); -} - -static void -identity_bind_rasterizer_state(struct pipe_context *_pipe, - void *rasterizer) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->bind_rasterizer_state(pipe, - rasterizer); -} - -static void -identity_delete_rasterizer_state(struct pipe_context *_pipe, - void *rasterizer) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->delete_rasterizer_state(pipe, - rasterizer); -} - -static void * -identity_create_depth_stencil_alpha_state(struct pipe_context *_pipe, - const struct pipe_depth_stencil_alpha_state *depth_stencil_alpha) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - return pipe->create_depth_stencil_alpha_state(pipe, - depth_stencil_alpha); -} - -static void -identity_bind_depth_stencil_alpha_state(struct pipe_context *_pipe, - void *depth_stencil_alpha) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->bind_depth_stencil_alpha_state(pipe, - depth_stencil_alpha); -} - -static void -identity_delete_depth_stencil_alpha_state(struct pipe_context *_pipe, - void *depth_stencil_alpha) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->delete_depth_stencil_alpha_state(pipe, - depth_stencil_alpha); -} - -static void * -identity_create_fs_state(struct pipe_context *_pipe, - const struct pipe_shader_state *fs) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - return pipe->create_fs_state(pipe, - fs); -} - -static void -identity_bind_fs_state(struct pipe_context *_pipe, - void *fs) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->bind_fs_state(pipe, - fs); -} - -static void -identity_delete_fs_state(struct pipe_context *_pipe, - void *fs) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->delete_fs_state(pipe, - fs); -} - -static void * -identity_create_vs_state(struct pipe_context *_pipe, - const struct pipe_shader_state *vs) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - return pipe->create_vs_state(pipe, - vs); -} - -static void -identity_bind_vs_state(struct pipe_context *_pipe, - void *vs) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->bind_vs_state(pipe, - vs); -} - -static void -identity_delete_vs_state(struct pipe_context *_pipe, - void *vs) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->delete_vs_state(pipe, - vs); -} - - -static void * -identity_create_vertex_elements_state(struct pipe_context *_pipe, - unsigned num_elements, - const struct pipe_vertex_element *vertex_elements) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - return pipe->create_vertex_elements_state(pipe, - num_elements, - vertex_elements); -} - -static void -identity_bind_vertex_elements_state(struct pipe_context *_pipe, - void *velems) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->bind_vertex_elements_state(pipe, - velems); -} - -static void -identity_delete_vertex_elements_state(struct pipe_context *_pipe, - void *velems) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->delete_vertex_elements_state(pipe, - velems); -} - -static void -identity_set_blend_color(struct pipe_context *_pipe, - const struct pipe_blend_color *blend_color) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->set_blend_color(pipe, - blend_color); -} - -static void -identity_set_stencil_ref(struct pipe_context *_pipe, - const struct pipe_stencil_ref *stencil_ref) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->set_stencil_ref(pipe, - stencil_ref); -} - -static void -identity_set_clip_state(struct pipe_context *_pipe, - const struct pipe_clip_state *clip) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->set_clip_state(pipe, - clip); -} - -static void -identity_set_sample_mask(struct pipe_context *_pipe, - unsigned sample_mask) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->set_sample_mask(pipe, - sample_mask); -} - -static void -identity_set_constant_buffer(struct pipe_context *_pipe, - uint shader, - uint index, - struct pipe_constant_buffer *_cb) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - struct pipe_constant_buffer cb; - - /* XXX hmm? unwrap the input state */ - if (_cb) { - cb = *_cb; - cb.buffer = identity_resource_unwrap(_cb->buffer); - } - - pipe->set_constant_buffer(pipe, - shader, - index, - _cb ? &cb : NULL); -} - -static void -identity_set_framebuffer_state(struct pipe_context *_pipe, - const struct pipe_framebuffer_state *_state) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - struct pipe_framebuffer_state unwrapped_state; - struct pipe_framebuffer_state *state = NULL; - unsigned i; - - /* unwrap the input state */ - if (_state) { - memcpy(&unwrapped_state, _state, sizeof(unwrapped_state)); - for(i = 0; i < _state->nr_cbufs; i++) - unwrapped_state.cbufs[i] = identity_surface_unwrap(_state->cbufs[i]); - for (; i < PIPE_MAX_COLOR_BUFS; i++) - unwrapped_state.cbufs[i] = NULL; - unwrapped_state.zsbuf = identity_surface_unwrap(_state->zsbuf); - state = &unwrapped_state; - } - - pipe->set_framebuffer_state(pipe, - state); -} - -static void -identity_set_polygon_stipple(struct pipe_context *_pipe, - const struct pipe_poly_stipple *poly_stipple) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->set_polygon_stipple(pipe, - poly_stipple); -} - -static void -identity_set_scissor_states(struct pipe_context *_pipe, - unsigned start_slot, - unsigned num_scissors, - const struct pipe_scissor_state *scissor) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->set_scissor_states(pipe, start_slot, num_scissors, scissor); -} - -static void -identity_set_viewport_states(struct pipe_context *_pipe, - unsigned start_slot, - unsigned num_viewports, - const struct pipe_viewport_state *viewport) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->set_viewport_states(pipe, start_slot, num_viewports, viewport); -} - -static void -identity_set_sampler_views(struct pipe_context *_pipe, - unsigned shader, - unsigned start, - unsigned num, - struct pipe_sampler_view **_views) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SHADER_SAMPLER_VIEWS]; - unsigned i; - - for (i = 0; i < num; i++) - unwrapped_views[i] = identity_sampler_view_unwrap(_views[i]); - - pipe->set_sampler_views(pipe, shader, start, num, unwrapped_views); -} - -static void -identity_set_vertex_buffers(struct pipe_context *_pipe, - unsigned start_slot, unsigned num_buffers, - const struct pipe_vertex_buffer *_buffers) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - struct pipe_vertex_buffer unwrapped_buffers[PIPE_MAX_SHADER_INPUTS]; - struct pipe_vertex_buffer *buffers = NULL; - unsigned i; - - if (num_buffers) { - memcpy(unwrapped_buffers, _buffers, num_buffers * sizeof(*_buffers)); - for (i = 0; i < num_buffers; i++) - unwrapped_buffers[i].buffer = identity_resource_unwrap(_buffers[i].buffer); - buffers = unwrapped_buffers; - } - - pipe->set_vertex_buffers(pipe, - start_slot, num_buffers, - buffers); -} - -static void -identity_set_index_buffer(struct pipe_context *_pipe, - const struct pipe_index_buffer *_ib) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - struct pipe_index_buffer unwrapped_ib, *ib = NULL; - - if (_ib) { - unwrapped_ib = *_ib; - unwrapped_ib.buffer = identity_resource_unwrap(_ib->buffer); - ib = &unwrapped_ib; - } - - pipe->set_index_buffer(pipe, ib); -} - -static void -identity_resource_copy_region(struct pipe_context *_pipe, - struct pipe_resource *_dst, - unsigned dst_level, - unsigned dstx, - unsigned dsty, - unsigned dstz, - struct pipe_resource *_src, - unsigned src_level, - const struct pipe_box *src_box) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct identity_resource *id_resource_dst = identity_resource(_dst); - struct identity_resource *id_resource_src = identity_resource(_src); - struct pipe_context *pipe = id_pipe->pipe; - struct pipe_resource *dst = id_resource_dst->resource; - struct pipe_resource *src = id_resource_src->resource; - - pipe->resource_copy_region(pipe, - dst, - dst_level, - dstx, - dsty, - dstz, - src, - src_level, - src_box); -} - -static void -identity_blit(struct pipe_context *_pipe, - const struct pipe_blit_info *info) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - struct pipe_blit_info blit = *info; - - blit.src.resource = identity_resource(blit.src.resource)->resource; - blit.dst.resource = identity_resource(blit.dst.resource)->resource; - - pipe->blit(pipe, &blit); -} - -static void -identity_flush_resource(struct pipe_context *_pipe, - struct pipe_resource *resource) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->flush_resource(pipe, resource); -} - -static void -identity_clear(struct pipe_context *_pipe, - unsigned buffers, - const union pipe_color_union *color, - double depth, - unsigned stencil) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->clear(pipe, - buffers, - color, - depth, - stencil); -} - -static void -identity_clear_render_target(struct pipe_context *_pipe, - struct pipe_surface *_dst, - const union pipe_color_union *color, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct identity_surface *id_surface_dst = identity_surface(_dst); - struct pipe_context *pipe = id_pipe->pipe; - struct pipe_surface *dst = id_surface_dst->surface; - - pipe->clear_render_target(pipe, - dst, - color, - dstx, - dsty, - width, - height); -} -static void -identity_clear_depth_stencil(struct pipe_context *_pipe, - struct pipe_surface *_dst, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct identity_surface *id_surface_dst = identity_surface(_dst); - struct pipe_context *pipe = id_pipe->pipe; - struct pipe_surface *dst = id_surface_dst->surface; - - pipe->clear_depth_stencil(pipe, - dst, - clear_flags, - depth, - stencil, - dstx, - dsty, - width, - height); - -} - -static void -identity_flush(struct pipe_context *_pipe, - struct pipe_fence_handle **fence, - unsigned flags) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->flush(pipe, fence, flags); -} - -static struct pipe_sampler_view * -identity_context_create_sampler_view(struct pipe_context *_pipe, - struct pipe_resource *_resource, - const struct pipe_sampler_view *templ) -{ - struct identity_context *id_context = identity_context(_pipe); - struct identity_resource *id_resource = identity_resource(_resource); - struct pipe_context *pipe = id_context->pipe; - struct pipe_resource *resource = id_resource->resource; - struct pipe_sampler_view *result; - - result = pipe->create_sampler_view(pipe, - resource, - templ); - - if (result) - return identity_sampler_view_create(id_context, id_resource, result); - return NULL; -} - -static void -identity_context_sampler_view_destroy(struct pipe_context *_pipe, - struct pipe_sampler_view *_view) -{ - identity_sampler_view_destroy(identity_context(_pipe), - identity_sampler_view(_view)); -} - -static struct pipe_surface * -identity_context_create_surface(struct pipe_context *_pipe, - struct pipe_resource *_resource, - const struct pipe_surface *templ) -{ - struct identity_context *id_context = identity_context(_pipe); - struct identity_resource *id_resource = identity_resource(_resource); - struct pipe_context *pipe = id_context->pipe; - struct pipe_resource *resource = id_resource->resource; - struct pipe_surface *result; - - result = pipe->create_surface(pipe, - resource, - templ); - - if (result) - return identity_surface_create(id_context, id_resource, result); - return NULL; -} - -static void -identity_context_surface_destroy(struct pipe_context *_pipe, - struct pipe_surface *_surf) -{ - identity_surface_destroy(identity_context(_pipe), - identity_surface(_surf)); -} - -static void * -identity_context_transfer_map(struct pipe_context *_context, - struct pipe_resource *_resource, - unsigned level, - unsigned usage, - const struct pipe_box *box, - struct pipe_transfer **transfer) -{ - struct identity_context *id_context = identity_context(_context); - struct identity_resource *id_resource = identity_resource(_resource); - struct pipe_context *context = id_context->pipe; - struct pipe_resource *resource = id_resource->resource; - struct pipe_transfer *result; - void *map; - - map = context->transfer_map(context, - resource, - level, - usage, - box, &result); - - if (!map) - return NULL; - - *transfer = identity_transfer_map(id_context, id_resource, result); - return *transfer ? map : NULL; -} - -static void -identity_context_transfer_flush_region(struct pipe_context *_context, - struct pipe_transfer *_transfer, - const struct pipe_box *box) -{ - struct identity_context *id_context = identity_context(_context); - struct identity_transfer *id_transfer = identity_transfer(_transfer); - struct pipe_context *context = id_context->pipe; - struct pipe_transfer *transfer = id_transfer->transfer; - - context->transfer_flush_region(context, - transfer, - box); -} - - -static void -identity_context_transfer_unmap(struct pipe_context *_context, - struct pipe_transfer *_transfer) -{ - struct identity_context *id_context = identity_context(_context); - struct identity_transfer *id_transfer = identity_transfer(_transfer); - struct pipe_context *context = id_context->pipe; - struct pipe_transfer *transfer = id_transfer->transfer; - - context->transfer_unmap(context, - transfer); - - identity_transfer_destroy(identity_context(_context), - identity_transfer(_transfer)); -} - - -static void -identity_context_transfer_inline_write(struct pipe_context *_context, - struct pipe_resource *_resource, - unsigned level, - unsigned usage, - const struct pipe_box *box, - const void *data, - unsigned stride, - unsigned layer_stride) -{ - struct identity_context *id_context = identity_context(_context); - struct identity_resource *id_resource = identity_resource(_resource); - struct pipe_context *context = id_context->pipe; - struct pipe_resource *resource = id_resource->resource; - - context->transfer_inline_write(context, - resource, - level, - usage, - box, - data, - stride, - layer_stride); -} - - -struct pipe_context * -identity_context_create(struct pipe_screen *_screen, struct pipe_context *pipe) -{ - struct identity_context *id_pipe; - (void)identity_screen(_screen); - - id_pipe = CALLOC_STRUCT(identity_context); - if (!id_pipe) { - return NULL; - } - - id_pipe->base.screen = _screen; - id_pipe->base.priv = pipe->priv; /* expose wrapped data */ - id_pipe->base.draw = NULL; - - id_pipe->base.destroy = identity_destroy; - id_pipe->base.draw_vbo = identity_draw_vbo; - id_pipe->base.create_query = identity_create_query; - id_pipe->base.destroy_query = identity_destroy_query; - id_pipe->base.begin_query = identity_begin_query; - id_pipe->base.end_query = identity_end_query; - id_pipe->base.get_query_result = identity_get_query_result; - id_pipe->base.create_blend_state = identity_create_blend_state; - id_pipe->base.bind_blend_state = identity_bind_blend_state; - id_pipe->base.delete_blend_state = identity_delete_blend_state; - id_pipe->base.create_sampler_state = identity_create_sampler_state; - id_pipe->base.bind_sampler_states = identity_bind_sampler_states; - id_pipe->base.delete_sampler_state = identity_delete_sampler_state; - id_pipe->base.create_rasterizer_state = identity_create_rasterizer_state; - id_pipe->base.bind_rasterizer_state = identity_bind_rasterizer_state; - id_pipe->base.delete_rasterizer_state = identity_delete_rasterizer_state; - id_pipe->base.create_depth_stencil_alpha_state = identity_create_depth_stencil_alpha_state; - id_pipe->base.bind_depth_stencil_alpha_state = identity_bind_depth_stencil_alpha_state; - id_pipe->base.delete_depth_stencil_alpha_state = identity_delete_depth_stencil_alpha_state; - id_pipe->base.create_fs_state = identity_create_fs_state; - id_pipe->base.bind_fs_state = identity_bind_fs_state; - id_pipe->base.delete_fs_state = identity_delete_fs_state; - id_pipe->base.create_vs_state = identity_create_vs_state; - id_pipe->base.bind_vs_state = identity_bind_vs_state; - id_pipe->base.delete_vs_state = identity_delete_vs_state; - id_pipe->base.create_vertex_elements_state = identity_create_vertex_elements_state; - id_pipe->base.bind_vertex_elements_state = identity_bind_vertex_elements_state; - id_pipe->base.delete_vertex_elements_state = identity_delete_vertex_elements_state; - id_pipe->base.set_blend_color = identity_set_blend_color; - id_pipe->base.set_stencil_ref = identity_set_stencil_ref; - id_pipe->base.set_clip_state = identity_set_clip_state; - id_pipe->base.set_sample_mask = identity_set_sample_mask; - id_pipe->base.set_constant_buffer = identity_set_constant_buffer; - id_pipe->base.set_framebuffer_state = identity_set_framebuffer_state; - id_pipe->base.set_polygon_stipple = identity_set_polygon_stipple; - id_pipe->base.set_scissor_states = identity_set_scissor_states; - id_pipe->base.set_viewport_states = identity_set_viewport_states; - id_pipe->base.set_sampler_views = identity_set_sampler_views; - id_pipe->base.set_vertex_buffers = identity_set_vertex_buffers; - id_pipe->base.set_index_buffer = identity_set_index_buffer; - id_pipe->base.resource_copy_region = identity_resource_copy_region; - id_pipe->base.clear = identity_clear; - id_pipe->base.clear_render_target = identity_clear_render_target; - id_pipe->base.clear_depth_stencil = identity_clear_depth_stencil; - id_pipe->base.flush = identity_flush; - id_pipe->base.create_surface = identity_context_create_surface; - id_pipe->base.surface_destroy = identity_context_surface_destroy; - id_pipe->base.create_sampler_view = identity_context_create_sampler_view; - id_pipe->base.sampler_view_destroy = identity_context_sampler_view_destroy; - id_pipe->base.transfer_map = identity_context_transfer_map; - id_pipe->base.transfer_unmap = identity_context_transfer_unmap; - id_pipe->base.transfer_flush_region = identity_context_transfer_flush_region; - id_pipe->base.transfer_inline_write = identity_context_transfer_inline_write; - id_pipe->base.blit = identity_blit; - id_pipe->base.flush_resource = identity_flush_resource; - - id_pipe->pipe = pipe; - - return &id_pipe->base; -} diff --git a/src/gallium/drivers/identity/id_context.h b/src/gallium/drivers/identity/id_context.h deleted file mode 100644 index 6d3c1899d59..00000000000 --- a/src/gallium/drivers/identity/id_context.h +++ /dev/null @@ -1,52 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - -#ifndef ID_CONTEXT_H -#define ID_CONTEXT_H - -#include "pipe/p_state.h" -#include "pipe/p_context.h" - - -struct identity_context { - struct pipe_context base; /**< base class */ - - struct pipe_context *pipe; -}; - - -struct pipe_context * -identity_context_create(struct pipe_screen *screen, struct pipe_context *pipe); - - -static INLINE struct identity_context * -identity_context(struct pipe_context *pipe) -{ - return (struct identity_context *)pipe; -} - -#endif /* ID_CONTEXT_H */ diff --git a/src/gallium/drivers/identity/id_objects.c b/src/gallium/drivers/identity/id_objects.c deleted file mode 100644 index a26d9874870..00000000000 --- a/src/gallium/drivers/identity/id_objects.c +++ /dev/null @@ -1,189 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - -#include "util/u_inlines.h" -#include "util/u_memory.h" - -#include "id_screen.h" -#include "id_objects.h" -#include "id_context.h" - - - -struct pipe_resource * -identity_resource_create(struct identity_screen *id_screen, - struct pipe_resource *resource) -{ - struct identity_resource *id_resource; - - if(!resource) - goto error; - - assert(resource->screen == id_screen->screen); - - id_resource = CALLOC_STRUCT(identity_resource); - if(!id_resource) - goto error; - - memcpy(&id_resource->base, resource, sizeof(struct pipe_resource)); - - pipe_reference_init(&id_resource->base.reference, 1); - id_resource->base.screen = &id_screen->base; - id_resource->resource = resource; - - return &id_resource->base; - -error: - pipe_resource_reference(&resource, NULL); - return NULL; -} - -void -identity_resource_destroy(struct identity_resource *id_resource) -{ - pipe_resource_reference(&id_resource->resource, NULL); - FREE(id_resource); -} - - -struct pipe_surface * -identity_surface_create(struct identity_context *id_context, - struct identity_resource *id_resource, - struct pipe_surface *surface) -{ - struct identity_surface *id_surface; - - if(!surface) - goto error; - - assert(surface->texture == id_resource->resource); - - id_surface = CALLOC_STRUCT(identity_surface); - if(!id_surface) - goto error; - - memcpy(&id_surface->base, surface, sizeof(struct pipe_surface)); - - pipe_reference_init(&id_surface->base.reference, 1); - id_surface->base.texture = NULL; - pipe_resource_reference(&id_surface->base.texture, &id_resource->base); - id_surface->surface = surface; - - return &id_surface->base; - -error: - pipe_surface_reference(&surface, NULL); - return NULL; -} - -void -identity_surface_destroy(struct identity_context *id_context, - struct identity_surface *id_surface) -{ - pipe_resource_reference(&id_surface->base.texture, NULL); - id_context->pipe->surface_destroy(id_context->pipe, - id_surface->surface); - FREE(id_surface); -} - - -struct pipe_sampler_view * -identity_sampler_view_create(struct identity_context *id_context, - struct identity_resource *id_resource, - struct pipe_sampler_view *view) -{ - struct identity_sampler_view *id_view; - - if (!view) - goto error; - - assert(view->texture == id_resource->resource); - - id_view = CALLOC_STRUCT(identity_sampler_view); - - id_view->base = *view; - id_view->base.reference.count = 1; - id_view->base.texture = NULL; - pipe_resource_reference(&id_view->base.texture, id_resource->resource); - id_view->base.context = id_context->pipe; - id_view->sampler_view = view; - - return &id_view->base; -error: - return NULL; -} - -void -identity_sampler_view_destroy(struct identity_context *id_context, - struct identity_sampler_view *id_view) -{ - pipe_resource_reference(&id_view->base.texture, NULL); - id_context->pipe->sampler_view_destroy(id_context->pipe, - id_view->sampler_view); - FREE(id_view); -} - - -struct pipe_transfer * -identity_transfer_map(struct identity_context *id_context, - struct identity_resource *id_resource, - struct pipe_transfer *transfer) -{ - struct identity_transfer *id_transfer; - - if(!transfer) - goto error; - - assert(transfer->resource == id_resource->resource); - - id_transfer = CALLOC_STRUCT(identity_transfer); - if(!id_transfer) - goto error; - - memcpy(&id_transfer->base, transfer, sizeof(struct pipe_transfer)); - - id_transfer->base.resource = NULL; - id_transfer->transfer = transfer; - - pipe_resource_reference(&id_transfer->base.resource, &id_resource->base); - assert(id_transfer->base.resource == &id_resource->base); - - return &id_transfer->base; - -error: - id_context->pipe->transfer_unmap(id_context->pipe, transfer); - return NULL; -} - -void -identity_transfer_destroy(struct identity_context *id_context, - struct identity_transfer *id_transfer) -{ - pipe_resource_reference(&id_transfer->base.resource, NULL); - FREE(id_transfer); -} - diff --git a/src/gallium/drivers/identity/id_objects.h b/src/gallium/drivers/identity/id_objects.h deleted file mode 100644 index 67049436247..00000000000 --- a/src/gallium/drivers/identity/id_objects.h +++ /dev/null @@ -1,177 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - -#ifndef ID_OBJECTS_H -#define ID_OBJECTS_H - - -#include "pipe/p_compiler.h" -#include "pipe/p_state.h" - -#include "id_screen.h" - -struct identity_context; - - -struct identity_resource -{ - struct pipe_resource base; - - struct pipe_resource *resource; -}; - - -struct identity_sampler_view -{ - struct pipe_sampler_view base; - - struct pipe_sampler_view *sampler_view; -}; - - -struct identity_surface -{ - struct pipe_surface base; - - struct pipe_surface *surface; -}; - - -struct identity_transfer -{ - struct pipe_transfer base; - - struct pipe_transfer *transfer; -}; - - -static INLINE struct identity_resource * -identity_resource(struct pipe_resource *_resource) -{ - if(!_resource) - return NULL; - (void)identity_screen(_resource->screen); - return (struct identity_resource *)_resource; -} - -static INLINE struct identity_sampler_view * -identity_sampler_view(struct pipe_sampler_view *_sampler_view) -{ - if (!_sampler_view) { - return NULL; - } - return (struct identity_sampler_view *)_sampler_view; -} - -static INLINE struct identity_surface * -identity_surface(struct pipe_surface *_surface) -{ - if(!_surface) - return NULL; - (void)identity_resource(_surface->texture); - return (struct identity_surface *)_surface; -} - -static INLINE struct identity_transfer * -identity_transfer(struct pipe_transfer *_transfer) -{ - if(!_transfer) - return NULL; - (void)identity_resource(_transfer->resource); - return (struct identity_transfer *)_transfer; -} - -static INLINE struct pipe_resource * -identity_resource_unwrap(struct pipe_resource *_resource) -{ - if(!_resource) - return NULL; - return identity_resource(_resource)->resource; -} - -static INLINE struct pipe_sampler_view * -identity_sampler_view_unwrap(struct pipe_sampler_view *_sampler_view) -{ - if (!_sampler_view) { - return NULL; - } - return identity_sampler_view(_sampler_view)->sampler_view; -} - -static INLINE struct pipe_surface * -identity_surface_unwrap(struct pipe_surface *_surface) -{ - if(!_surface) - return NULL; - return identity_surface(_surface)->surface; -} - -static INLINE struct pipe_transfer * -identity_transfer_unwrap(struct pipe_transfer *_transfer) -{ - if(!_transfer) - return NULL; - return identity_transfer(_transfer)->transfer; -} - - -struct pipe_resource * -identity_resource_create(struct identity_screen *id_screen, - struct pipe_resource *resource); - -void -identity_resource_destroy(struct identity_resource *id_resource); - -struct pipe_surface * -identity_surface_create(struct identity_context *id_context, - struct identity_resource *id_resource, - struct pipe_surface *surface); - -void -identity_surface_destroy(struct identity_context *id_context, - struct identity_surface *id_surface); - -struct pipe_sampler_view * -identity_sampler_view_create(struct identity_context *id_context, - struct identity_resource *id_resource, - struct pipe_sampler_view *view); - -void -identity_sampler_view_destroy(struct identity_context *id_context, - struct identity_sampler_view *id_sampler_view); - -struct pipe_transfer * -identity_transfer_map(struct identity_context *id_context, - struct identity_resource *id_resource, - struct pipe_transfer *transfer); - -void -identity_transfer_destroy(struct identity_context *id_context, - struct identity_transfer *id_transfer); - - -#endif /* ID_OBJECTS_H */ diff --git a/src/gallium/drivers/identity/id_public.h b/src/gallium/drivers/identity/id_public.h deleted file mode 100644 index d0d5847c61c..00000000000 --- a/src/gallium/drivers/identity/id_public.h +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - -#ifndef ID_PUBLIC_H -#define ID_PUBLIC_H - -struct pipe_screen; -struct pipe_context; - -struct pipe_screen * -identity_screen_create(struct pipe_screen *screen); - -#endif /* ID_PUBLIC_H */ diff --git a/src/gallium/drivers/identity/id_screen.c b/src/gallium/drivers/identity/id_screen.c deleted file mode 100644 index 28cfa1f62b1..00000000000 --- a/src/gallium/drivers/identity/id_screen.c +++ /dev/null @@ -1,286 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - - -#include "pipe/p_screen.h" -#include "pipe/p_state.h" -#include "util/u_memory.h" - -#include "id_public.h" -#include "id_screen.h" -#include "id_context.h" -#include "id_objects.h" - - -static void -identity_screen_destroy(struct pipe_screen *_screen) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - - screen->destroy(screen); - - FREE(id_screen); -} - -static const char * -identity_screen_get_name(struct pipe_screen *_screen) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - - return screen->get_name(screen); -} - -static const char * -identity_screen_get_vendor(struct pipe_screen *_screen) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - - return screen->get_vendor(screen); -} - -static int -identity_screen_get_param(struct pipe_screen *_screen, - enum pipe_cap param) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - - return screen->get_param(screen, - param); -} - -static int -identity_screen_get_shader_param(struct pipe_screen *_screen, - unsigned shader, enum pipe_shader_cap param) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - - return screen->get_shader_param(screen, shader, - param); -} - -static float -identity_screen_get_paramf(struct pipe_screen *_screen, - enum pipe_capf param) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - - return screen->get_paramf(screen, - param); -} - -static boolean -identity_screen_is_format_supported(struct pipe_screen *_screen, - enum pipe_format format, - enum pipe_texture_target target, - unsigned sample_count, - unsigned tex_usage) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - - return screen->is_format_supported(screen, - format, - target, - sample_count, - tex_usage); -} - -static struct pipe_context * -identity_screen_context_create(struct pipe_screen *_screen, - void *priv) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - struct pipe_context *result; - - result = screen->context_create(screen, priv); - if (result) - return identity_context_create(_screen, result); - return NULL; -} - -static struct pipe_resource * -identity_screen_resource_create(struct pipe_screen *_screen, - const struct pipe_resource *templat) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - struct pipe_resource *result; - - result = screen->resource_create(screen, - templat); - - if (result) - return identity_resource_create(id_screen, result); - return NULL; -} - -static struct pipe_resource * -identity_screen_resource_from_handle(struct pipe_screen *_screen, - const struct pipe_resource *templ, - struct winsys_handle *handle) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - struct pipe_resource *result; - - /* TODO trace call */ - - result = screen->resource_from_handle(screen, templ, handle); - - result = identity_resource_create(identity_screen(_screen), result); - - return result; -} - -static boolean -identity_screen_resource_get_handle(struct pipe_screen *_screen, - struct pipe_resource *_resource, - struct winsys_handle *handle) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct identity_resource *id_resource = identity_resource(_resource); - struct pipe_screen *screen = id_screen->screen; - struct pipe_resource *resource = id_resource->resource; - - /* TODO trace call */ - - return screen->resource_get_handle(screen, resource, handle); -} - - - -static void -identity_screen_resource_destroy(struct pipe_screen *screen, - struct pipe_resource *_resource) -{ - identity_resource_destroy(identity_resource(_resource)); -} - - -static void -identity_screen_flush_frontbuffer(struct pipe_screen *_screen, - struct pipe_resource *_resource, - unsigned level, unsigned layer, - void *context_private, - struct pipe_box *sub_box) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct identity_resource *id_resource = identity_resource(_resource); - struct pipe_screen *screen = id_screen->screen; - struct pipe_resource *resource = id_resource->resource; - - screen->flush_frontbuffer(screen, - resource, - level, layer, - context_private, sub_box); -} - -static void -identity_screen_fence_reference(struct pipe_screen *_screen, - struct pipe_fence_handle **ptr, - struct pipe_fence_handle *fence) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - - screen->fence_reference(screen, - ptr, - fence); -} - -static boolean -identity_screen_fence_signalled(struct pipe_screen *_screen, - struct pipe_fence_handle *fence) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - - return screen->fence_signalled(screen, - fence); -} - -static boolean -identity_screen_fence_finish(struct pipe_screen *_screen, - struct pipe_fence_handle *fence, - uint64_t timeout) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - - return screen->fence_finish(screen, - fence, - timeout); -} - -static uint64_t -identity_screen_get_timestamp(struct pipe_screen *_screen) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - - return screen->get_timestamp(screen); -} - -struct pipe_screen * -identity_screen_create(struct pipe_screen *screen) -{ - struct identity_screen *id_screen; - - id_screen = CALLOC_STRUCT(identity_screen); - if (!id_screen) { - return NULL; - } - - id_screen->base.destroy = identity_screen_destroy; - id_screen->base.get_name = identity_screen_get_name; - id_screen->base.get_vendor = identity_screen_get_vendor; - id_screen->base.get_param = identity_screen_get_param; - id_screen->base.get_shader_param = identity_screen_get_shader_param; - id_screen->base.get_paramf = identity_screen_get_paramf; - id_screen->base.is_format_supported = identity_screen_is_format_supported; - id_screen->base.context_create = identity_screen_context_create; - id_screen->base.resource_create = identity_screen_resource_create; - id_screen->base.resource_from_handle = identity_screen_resource_from_handle; - id_screen->base.resource_get_handle = identity_screen_resource_get_handle; - id_screen->base.resource_destroy = identity_screen_resource_destroy; - id_screen->base.flush_frontbuffer = identity_screen_flush_frontbuffer; - id_screen->base.fence_reference = identity_screen_fence_reference; - id_screen->base.fence_signalled = identity_screen_fence_signalled; - id_screen->base.fence_finish = identity_screen_fence_finish; - id_screen->base.get_timestamp = identity_screen_get_timestamp; - - id_screen->screen = screen; - - return &id_screen->base; -} diff --git a/src/gallium/drivers/identity/id_screen.h b/src/gallium/drivers/identity/id_screen.h deleted file mode 100644 index 2c4f1290894..00000000000 --- a/src/gallium/drivers/identity/id_screen.h +++ /dev/null @@ -1,48 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - -#ifndef ID_SCREEN_H -#define ID_SCREEN_H - -#include "pipe/p_screen.h" -#include "pipe/p_defines.h" - - -struct identity_screen { - struct pipe_screen base; - - struct pipe_screen *screen; -}; - - -static INLINE struct identity_screen * -identity_screen(struct pipe_screen *screen) -{ - return (struct identity_screen *)screen; -} - -#endif /* ID_SCREEN_H */ diff --git a/src/gallium/targets/egl-static/Makefile.am b/src/gallium/targets/egl-static/Makefile.am index 85f2ac1b785..0056276469f 100644 --- a/src/gallium/targets/egl-static/Makefile.am +++ b/src/gallium/targets/egl-static/Makefile.am @@ -67,7 +67,6 @@ egl_gallium_la_LIBADD = \ $(top_builddir)/src/loader/libloader.la \ $(top_builddir)/src/gallium/auxiliary/libgalliumvl_stub.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ - $(top_builddir)/src/gallium/drivers/identity/libidentity.la \ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \ $(top_builddir)/src/gallium/drivers/rbug/librbug.la \ $(top_builddir)/src/gallium/state_trackers/egl/libegl.la \ -- 2.30.2