summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/noop
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/noop')
-rw-r--r--src/gallium/drivers/noop/Makefile.am16
-rw-r--r--src/gallium/drivers/noop/Makefile.sources4
-rw-r--r--src/gallium/drivers/noop/SConscript13
-rw-r--r--src/gallium/drivers/noop/meson.build27
-rw-r--r--src/gallium/drivers/noop/noop_pipe.c498
-rw-r--r--src/gallium/drivers/noop/noop_public.h29
-rw-r--r--src/gallium/drivers/noop/noop_state.c307
7 files changed, 0 insertions, 894 deletions
diff --git a/src/gallium/drivers/noop/Makefile.am b/src/gallium/drivers/noop/Makefile.am
deleted file mode 100644
index 1a4354e0b4..0000000000
--- a/src/gallium/drivers/noop/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-################################################################################
-
-# Meta-driver which combines whichever software rasterizers have been
-# built into a single convenience library.
-
-include Makefile.sources
-include $(top_srcdir)/src/gallium/Automake.inc
-
-AM_CFLAGS = \
- $(GALLIUM_DRIVER_CFLAGS)
-
-noinst_LTLIBRARIES = libnoop.la
-
-libnoop_la_SOURCES = $(C_SOURCES)
-
-EXTRA_DIST = SConscript meson.build
diff --git a/src/gallium/drivers/noop/Makefile.sources b/src/gallium/drivers/noop/Makefile.sources
deleted file mode 100644
index 6d4228630b..0000000000
--- a/src/gallium/drivers/noop/Makefile.sources
+++ /dev/null
@@ -1,4 +0,0 @@
-C_SOURCES := \
- noop_pipe.c \
- noop_public.h \
- noop_state.c
diff --git a/src/gallium/drivers/noop/SConscript b/src/gallium/drivers/noop/SConscript
deleted file mode 100644
index 9cb2e29cbe..0000000000
--- a/src/gallium/drivers/noop/SConscript
+++ /dev/null
@@ -1,13 +0,0 @@
-#######################################################################
-# SConscript for noop convenience library
-
-Import('*')
-
-env = env.Clone()
-
-noop = env.ConvenienceLibrary(
- target = 'noop',
- source = env.ParseSourceList('Makefile.sources', 'C_SOURCES')
- ) + extra
-
-Export('noop')
diff --git a/src/gallium/drivers/noop/meson.build b/src/gallium/drivers/noop/meson.build
deleted file mode 100644
index c4bb1508e3..0000000000
--- a/src/gallium/drivers/noop/meson.build
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright © 2017 Dylan Baker
-
-# 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, sublicense, 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 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 NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS 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.
-
-libnoop = static_library(
- 'noop',
- files('noop_pipe.c', 'noop_public.h', 'noop_state.c'),
- c_args : [c_vis_args],
- include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux],
- build_by_default : false,
-)
diff --git a/src/gallium/drivers/noop/noop_pipe.c b/src/gallium/drivers/noop/noop_pipe.c
deleted file mode 100644
index d1e795dab1..0000000000
--- a/src/gallium/drivers/noop/noop_pipe.c
+++ /dev/null
@@ -1,498 +0,0 @@
-/*
- * Copyright 2010 Red Hat Inc.
- *
- * 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
- * on 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
- * THE AUTHOR(S) AND/OR THEIR 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 <stdio.h>
-#include <errno.h>
-#include "pipe/p_defines.h"
-#include "pipe/p_state.h"
-#include "pipe/p_context.h"
-#include "pipe/p_screen.h"
-#include "util/u_memory.h"
-#include "util/u_inlines.h"
-#include "util/u_format.h"
-#include "util/u_upload_mgr.h"
-#include "noop_public.h"
-
-DEBUG_GET_ONCE_BOOL_OPTION(noop, "GALLIUM_NOOP", FALSE)
-
-void noop_init_state_functions(struct pipe_context *ctx);
-
-struct noop_pipe_screen {
- struct pipe_screen pscreen;
- struct pipe_screen *oscreen;
-};
-
-/*
- * query
- */
-struct noop_query {
- unsigned query;
-};
-static struct pipe_query *noop_create_query(struct pipe_context *ctx, unsigned query_type, unsigned index)
-{
- struct noop_query *query = CALLOC_STRUCT(noop_query);
-
- return (struct pipe_query *)query;
-}
-
-static void noop_destroy_query(struct pipe_context *ctx, struct pipe_query *query)
-{
- FREE(query);
-}
-
-static boolean noop_begin_query(struct pipe_context *ctx, struct pipe_query *query)
-{
- return true;
-}
-
-static bool noop_end_query(struct pipe_context *ctx, struct pipe_query *query)
-{
- return true;
-}
-
-static boolean noop_get_query_result(struct pipe_context *ctx,
- struct pipe_query *query,
- boolean wait,
- union pipe_query_result *vresult)
-{
- uint64_t *result = (uint64_t*)vresult;
-
- *result = 0;
- return TRUE;
-}
-
-static void
-noop_set_active_query_state(struct pipe_context *pipe, boolean enable)
-{
-}
-
-
-/*
- * resource
- */
-struct noop_resource {
- struct pipe_resource base;
- unsigned size;
- char *data;
- struct sw_displaytarget *dt;
-};
-
-static struct pipe_resource *noop_resource_create(struct pipe_screen *screen,
- const struct pipe_resource *templ)
-{
- struct noop_resource *nresource;
- unsigned stride;
-
- nresource = CALLOC_STRUCT(noop_resource);
- if (!nresource)
- return NULL;
-
- stride = util_format_get_stride(templ->format, templ->width0);
- nresource->base = *templ;
- nresource->base.screen = screen;
- nresource->size = stride * templ->height0 * templ->depth0;
- nresource->data = MALLOC(nresource->size);
- pipe_reference_init(&nresource->base.reference, 1);
- if (nresource->data == NULL) {
- FREE(nresource);
- return NULL;
- }
- return &nresource->base;
-}
-
-static struct pipe_resource *noop_resource_from_handle(struct pipe_screen *screen,
- const struct pipe_resource *templ,
- struct winsys_handle *handle,
- unsigned usage)
-{
- struct noop_pipe_screen *noop_screen = (struct noop_pipe_screen*)screen;
- struct pipe_screen *oscreen = noop_screen->oscreen;
- struct pipe_resource *result;
- struct pipe_resource *noop_resource;
-
- result = oscreen->resource_from_handle(oscreen, templ, handle, usage);
- noop_resource = noop_resource_create(screen, result);
- pipe_resource_reference(&result, NULL);
- return noop_resource;
-}
-
-static boolean noop_resource_get_handle(struct pipe_screen *pscreen,
- struct pipe_context *ctx,
- struct pipe_resource *resource,
- struct winsys_handle *handle,
- unsigned usage)
-{
- struct noop_pipe_screen *noop_screen = (struct noop_pipe_screen*)pscreen;
- struct pipe_screen *screen = noop_screen->oscreen;
- struct pipe_resource *tex;
- bool result;
-
- /* resource_get_handle musn't fail. Just create something and return it. */
- tex = screen->resource_create(screen, resource);
- if (!tex)
- return false;
-
- result = screen->resource_get_handle(screen, NULL, tex, handle, usage);
- pipe_resource_reference(&tex, NULL);
- return result;
-}
-
-static void noop_resource_destroy(struct pipe_screen *screen,
- struct pipe_resource *resource)
-{
- struct noop_resource *nresource = (struct noop_resource *)resource;
-
- FREE(nresource->data);
- FREE(resource);
-}
-
-
-/*
- * transfer
- */
-static void *noop_transfer_map(struct pipe_context *pipe,
- struct pipe_resource *resource,
- unsigned level,
- enum pipe_transfer_usage usage,
- const struct pipe_box *box,
- struct pipe_transfer **ptransfer)
-{
- struct pipe_transfer *transfer;
- struct noop_resource *nresource = (struct noop_resource *)resource;
-
- transfer = CALLOC_STRUCT(pipe_transfer);
- if (!transfer)
- return NULL;
- pipe_resource_reference(&transfer->resource, resource);
- transfer->level = level;
- transfer->usage = usage;
- transfer->box = *box;
- transfer->stride = 1;
- transfer->layer_stride = 1;
- *ptransfer = transfer;
-
- return nresource->data;
-}
-
-static void noop_transfer_flush_region(struct pipe_context *pipe,
- struct pipe_transfer *transfer,
- const struct pipe_box *box)
-{
-}
-
-static void noop_transfer_unmap(struct pipe_context *pipe,
- struct pipe_transfer *transfer)
-{
- pipe_resource_reference(&transfer->resource, NULL);
- FREE(transfer);
-}
-
-static void noop_buffer_subdata(struct pipe_context *pipe,
- struct pipe_resource *resource,
- unsigned usage, unsigned offset,
- unsigned size, const void *data)
-{
-}
-
-static void noop_texture_subdata(struct pipe_context *pipe,
- struct pipe_resource *resource,
- unsigned level,
- unsigned usage,
- const struct pipe_box *box,
- const void *data,
- unsigned stride,
- unsigned layer_stride)
-{
-}
-
-
-/*
- * clear/copy
- */
-static void noop_clear(struct pipe_context *ctx, unsigned buffers,
- const union pipe_color_union *color, double depth, unsigned stencil)
-{
-}
-
-static void noop_clear_render_target(struct pipe_context *ctx,
- struct pipe_surface *dst,
- const union pipe_color_union *color,
- unsigned dstx, unsigned dsty,
- unsigned width, unsigned height,
- bool render_condition_enabled)
-{
-}
-
-static void noop_clear_depth_stencil(struct pipe_context *ctx,
- struct pipe_surface *dst,
- unsigned clear_flags,
- double depth,
- unsigned stencil,
- unsigned dstx, unsigned dsty,
- unsigned width, unsigned height,
- bool render_condition_enabled)
-{
-}
-
-static void noop_resource_copy_region(struct pipe_context *ctx,
- 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)
-{
-}
-
-
-static void noop_blit(struct pipe_context *ctx,
- const struct pipe_blit_info *info)
-{
-}
-
-
-static void
-noop_flush_resource(struct pipe_context *ctx,
- struct pipe_resource *resource)
-{
-}
-
-
-/*
- * context
- */
-static void noop_flush(struct pipe_context *ctx,
- struct pipe_fence_handle **fence,
- unsigned flags)
-{
- if (fence)
- *fence = NULL;
-}
-
-static void noop_destroy_context(struct pipe_context *ctx)
-{
- if (ctx->stream_uploader)
- u_upload_destroy(ctx->stream_uploader);
-
- FREE(ctx);
-}
-
-static boolean noop_generate_mipmap(struct pipe_context *ctx,
- struct pipe_resource *resource,
- enum pipe_format format,
- unsigned base_level,
- unsigned last_level,
- unsigned first_layer,
- unsigned last_layer)
-{
- return true;
-}
-
-static struct pipe_context *noop_create_context(struct pipe_screen *screen,
- void *priv, unsigned flags)
-{
- struct pipe_context *ctx = CALLOC_STRUCT(pipe_context);
-
- if (!ctx)
- return NULL;
-
- ctx->screen = screen;
- ctx->priv = priv;
-
- ctx->stream_uploader = u_upload_create_default(ctx);
- if (!ctx->stream_uploader) {
- FREE(ctx);
- return NULL;
- }
- ctx->const_uploader = ctx->stream_uploader;
-
- ctx->destroy = noop_destroy_context;
- ctx->flush = noop_flush;
- ctx->clear = noop_clear;
- ctx->clear_render_target = noop_clear_render_target;
- ctx->clear_depth_stencil = noop_clear_depth_stencil;
- ctx->resource_copy_region = noop_resource_copy_region;
- ctx->generate_mipmap = noop_generate_mipmap;
- ctx->blit = noop_blit;
- ctx->flush_resource = noop_flush_resource;
- ctx->create_query = noop_create_query;
- ctx->destroy_query = noop_destroy_query;
- ctx->begin_query = noop_begin_query;
- ctx->end_query = noop_end_query;
- ctx->get_query_result = noop_get_query_result;
- ctx->set_active_query_state = noop_set_active_query_state;
- ctx->transfer_map = noop_transfer_map;
- ctx->transfer_flush_region = noop_transfer_flush_region;
- ctx->transfer_unmap = noop_transfer_unmap;
- ctx->buffer_subdata = noop_buffer_subdata;
- ctx->texture_subdata = noop_texture_subdata;
- noop_init_state_functions(ctx);
-
- return ctx;
-}
-
-
-/*
- * pipe_screen
- */
-static void noop_flush_frontbuffer(struct pipe_screen *_screen,
- struct pipe_resource *resource,
- unsigned level, unsigned layer,
- void *context_private, struct pipe_box *box)
-{
-}
-
-static const char *noop_get_vendor(struct pipe_screen* pscreen)
-{
- return "X.Org";
-}
-
-static const char *noop_get_device_vendor(struct pipe_screen* pscreen)
-{
- return "NONE";
-}
-
-static const char *noop_get_name(struct pipe_screen* pscreen)
-{
- return "NOOP";
-}
-
-static int noop_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
-{
- struct pipe_screen *screen = ((struct noop_pipe_screen*)pscreen)->oscreen;
-
- return screen->get_param(screen, param);
-}
-
-static float noop_get_paramf(struct pipe_screen* pscreen,
- enum pipe_capf param)
-{
- struct pipe_screen *screen = ((struct noop_pipe_screen*)pscreen)->oscreen;
-
- return screen->get_paramf(screen, param);
-}
-
-static int noop_get_shader_param(struct pipe_screen* pscreen,
- enum pipe_shader_type shader,
- enum pipe_shader_cap param)
-{
- struct pipe_screen *screen = ((struct noop_pipe_screen*)pscreen)->oscreen;
-
- return screen->get_shader_param(screen, shader, param);
-}
-
-static int noop_get_compute_param(struct pipe_screen *pscreen,
- enum pipe_shader_ir ir_type,
- enum pipe_compute_cap param,
- void *ret)
-{
- struct pipe_screen *screen = ((struct noop_pipe_screen*)pscreen)->oscreen;
-
- return screen->get_compute_param(screen, ir_type, param, ret);
-}
-
-static boolean noop_is_format_supported(struct pipe_screen* pscreen,
- enum pipe_format format,
- enum pipe_texture_target target,
- unsigned sample_count,
- unsigned usage)
-{
- struct pipe_screen *screen = ((struct noop_pipe_screen*)pscreen)->oscreen;
-
- return screen->is_format_supported(screen, format, target, sample_count, usage);
-}
-
-static uint64_t noop_get_timestamp(struct pipe_screen *pscreen)
-{
- return 0;
-}
-
-static void noop_destroy_screen(struct pipe_screen *screen)
-{
- struct noop_pipe_screen *noop_screen = (struct noop_pipe_screen*)screen;
- struct pipe_screen *oscreen = noop_screen->oscreen;
-
- oscreen->destroy(oscreen);
- FREE(screen);
-}
-
-static void noop_fence_reference(struct pipe_screen *screen,
- struct pipe_fence_handle **ptr,
- struct pipe_fence_handle *fence)
-{
-}
-
-static boolean noop_fence_finish(struct pipe_screen *screen,
- struct pipe_context *ctx,
- struct pipe_fence_handle *fence,
- uint64_t timeout)
-{
- return true;
-}
-
-static void noop_query_memory_info(struct pipe_screen *pscreen,
- struct pipe_memory_info *info)
-{
- struct noop_pipe_screen *noop_screen = (struct noop_pipe_screen*)pscreen;
- struct pipe_screen *screen = noop_screen->oscreen;
-
- screen->query_memory_info(screen, info);
-}
-
-struct pipe_screen *noop_screen_create(struct pipe_screen *oscreen)
-{
- struct noop_pipe_screen *noop_screen;
- struct pipe_screen *screen;
-
- if (!debug_get_option_noop()) {
- return oscreen;
- }
-
- noop_screen = CALLOC_STRUCT(noop_pipe_screen);
- if (!noop_screen) {
- return NULL;
- }
- noop_screen->oscreen = oscreen;
- screen = &noop_screen->pscreen;
-
- screen->destroy = noop_destroy_screen;
- screen->get_name = noop_get_name;
- screen->get_vendor = noop_get_vendor;
- screen->get_device_vendor = noop_get_device_vendor;
- screen->get_param = noop_get_param;
- screen->get_shader_param = noop_get_shader_param;
- screen->get_compute_param = noop_get_compute_param;
- screen->get_paramf = noop_get_paramf;
- screen->is_format_supported = noop_is_format_supported;
- screen->context_create = noop_create_context;
- screen->resource_create = noop_resource_create;
- screen->resource_from_handle = noop_resource_from_handle;
- screen->resource_get_handle = noop_resource_get_handle;
- screen->resource_destroy = noop_resource_destroy;
- screen->flush_frontbuffer = noop_flush_frontbuffer;
- screen->get_timestamp = noop_get_timestamp;
- screen->fence_reference = noop_fence_reference;
- screen->fence_finish = noop_fence_finish;
- screen->query_memory_info = noop_query_memory_info;
-
- return screen;
-}
diff --git a/src/gallium/drivers/noop/noop_public.h b/src/gallium/drivers/noop/noop_public.h
deleted file mode 100644
index 180ea597fa..0000000000
--- a/src/gallium/drivers/noop/noop_public.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2010 Red Hat Inc.
- *
- * 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
- * on 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
- * THE AUTHOR(S) AND/OR THEIR 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 NOOP_PUBLIC_H
-#define NOOP_PUBLIC_H
-
-struct pipe_screen;
-struct pipe_screen *noop_screen_create(struct pipe_screen *screen);
-
-#endif
diff --git a/src/gallium/drivers/noop/noop_state.c b/src/gallium/drivers/noop/noop_state.c
deleted file mode 100644
index 80cfae8ad4..0000000000
--- a/src/gallium/drivers/noop/noop_state.c
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * Copyright 2010 Red Hat Inc.
- *
- * 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
- * on 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
- * THE AUTHOR(S) AND/OR THEIR 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 <stdio.h>
-#include <errno.h>
-#include "pipe/p_defines.h"
-#include "pipe/p_state.h"
-#include "pipe/p_context.h"
-#include "pipe/p_screen.h"
-#include "util/u_memory.h"
-#include "util/u_inlines.h"
-#include "util/u_transfer.h"
-
-static void noop_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
-{
-}
-
-static void noop_launch_grid(struct pipe_context *ctx,
- const struct pipe_grid_info *info)
-{
-}
-
-static void noop_set_blend_color(struct pipe_context *ctx,
- const struct pipe_blend_color *state)
-{
-}
-
-static void *noop_create_blend_state(struct pipe_context *ctx,
- const struct pipe_blend_state *state)
-{
- return MALLOC(1);
-}
-
-static void *noop_create_dsa_state(struct pipe_context *ctx,
- const struct pipe_depth_stencil_alpha_state *state)
-{
- return MALLOC(1);
-}
-
-static void *noop_create_rs_state(struct pipe_context *ctx,
- const struct pipe_rasterizer_state *state)
-{
- return MALLOC(1);
-}
-
-static void *noop_create_sampler_state(struct pipe_context *ctx,
- const struct pipe_sampler_state *state)
-{
- return MALLOC(1);
-}
-
-static struct pipe_sampler_view *noop_create_sampler_view(struct pipe_context *ctx,
- struct pipe_resource *texture,
- const struct pipe_sampler_view *state)
-{
- struct pipe_sampler_view *sampler_view = CALLOC_STRUCT(pipe_sampler_view);
-
- if (!sampler_view)
- return NULL;
-
- /* initialize base object */
- *sampler_view = *state;
- sampler_view->texture = NULL;
- pipe_resource_reference(&sampler_view->texture, texture);
- pipe_reference_init(&sampler_view->reference, 1);
- sampler_view->context = ctx;
- return sampler_view;
-}
-
-static struct pipe_surface *noop_create_surface(struct pipe_context *ctx,
- struct pipe_resource *texture,
- const struct pipe_surface *surf_tmpl)
-{
- struct pipe_surface *surface = CALLOC_STRUCT(pipe_surface);
-
- if (!surface)
- return NULL;
- pipe_reference_init(&surface->reference, 1);
- pipe_resource_reference(&surface->texture, texture);
- surface->context = ctx;
- surface->format = surf_tmpl->format;
- surface->width = texture->width0;
- surface->height = texture->height0;
- surface->texture = texture;
- surface->u.tex.first_layer = surf_tmpl->u.tex.first_layer;
- surface->u.tex.last_layer = surf_tmpl->u.tex.last_layer;
- surface->u.tex.level = surf_tmpl->u.tex.level;
-
- return surface;
-}
-
-static void noop_set_sampler_views(struct pipe_context *ctx,
- enum pipe_shader_type shader,
- unsigned start, unsigned count,
- struct pipe_sampler_view **views)
-{
-}
-
-static void noop_bind_sampler_states(struct pipe_context *ctx,
- enum pipe_shader_type shader,
- unsigned start, unsigned count,
- void **states)
-{
-}
-
-static void noop_set_clip_state(struct pipe_context *ctx,
- const struct pipe_clip_state *state)
-{
-}
-
-static void noop_set_polygon_stipple(struct pipe_context *ctx,
- const struct pipe_poly_stipple *state)
-{
-}
-
-static void noop_set_sample_mask(struct pipe_context *pipe, unsigned sample_mask)
-{
-}
-
-static void noop_set_scissor_states(struct pipe_context *ctx,
- unsigned start_slot,
- unsigned num_scissors,
- const struct pipe_scissor_state *state)
-{
-}
-
-static void noop_set_stencil_ref(struct pipe_context *ctx,
- const struct pipe_stencil_ref *state)
-{
-}
-
-static void noop_set_viewport_states(struct pipe_context *ctx,
- unsigned start_slot,
- unsigned num_viewports,
- const struct pipe_viewport_state *state)
-{
-}
-
-static void noop_set_framebuffer_state(struct pipe_context *ctx,
- const struct pipe_framebuffer_state *state)
-{
-}
-
-static void noop_set_constant_buffer(struct pipe_context *ctx,
- enum pipe_shader_type shader, uint index,
- const struct pipe_constant_buffer *cb)
-{
-}
-
-
-static void noop_sampler_view_destroy(struct pipe_context *ctx,
- struct pipe_sampler_view *state)
-{
- pipe_resource_reference(&state->texture, NULL);
- FREE(state);
-}
-
-
-static void noop_surface_destroy(struct pipe_context *ctx,
- struct pipe_surface *surface)
-{
- pipe_resource_reference(&surface->texture, NULL);
- FREE(surface);
-}
-
-static void noop_bind_state(struct pipe_context *ctx, void *state)
-{
-}
-
-static void noop_delete_state(struct pipe_context *ctx, void *state)
-{
- FREE(state);
-}
-
-static void noop_set_vertex_buffers(struct pipe_context *ctx,
- unsigned start_slot, unsigned count,
- const struct pipe_vertex_buffer *buffers)
-{
-}
-
-static void *noop_create_vertex_elements(struct pipe_context *ctx,
- unsigned count,
- const struct pipe_vertex_element *state)
-{
- return MALLOC(1);
-}
-
-static void *noop_create_shader_state(struct pipe_context *ctx,
- const struct pipe_shader_state *state)
-{
- return MALLOC(1);
-}
-
-static void *noop_create_compute_state(struct pipe_context *ctx,
- const struct pipe_compute_state *state)
-{
- return MALLOC(1);
-}
-
-static struct pipe_stream_output_target *noop_create_stream_output_target(
- struct pipe_context *ctx,
- struct pipe_resource *res,
- unsigned buffer_offset,
- unsigned buffer_size)
-{
- struct pipe_stream_output_target *t = CALLOC_STRUCT(pipe_stream_output_target);
- if (!t)
- return NULL;
-
- pipe_reference_init(&t->reference, 1);
- pipe_resource_reference(&t->buffer, res);
- t->buffer_offset = buffer_offset;
- t->buffer_size = buffer_size;
- return t;
-}
-
-static void noop_stream_output_target_destroy(struct pipe_context *ctx,
- struct pipe_stream_output_target *t)
-{
- pipe_resource_reference(&t->buffer, NULL);
- FREE(t);
-}
-
-static void noop_set_stream_output_targets(struct pipe_context *ctx,
- unsigned num_targets,
- struct pipe_stream_output_target **targets,
- const unsigned *offsets)
-{
-}
-
-void noop_init_state_functions(struct pipe_context *ctx);
-
-void noop_init_state_functions(struct pipe_context *ctx)
-{
- ctx->create_blend_state = noop_create_blend_state;
- ctx->create_depth_stencil_alpha_state = noop_create_dsa_state;
- ctx->create_fs_state = noop_create_shader_state;
- ctx->create_rasterizer_state = noop_create_rs_state;
- ctx->create_sampler_state = noop_create_sampler_state;
- ctx->create_sampler_view = noop_create_sampler_view;
- ctx->create_surface = noop_create_surface;
- ctx->create_vertex_elements_state = noop_create_vertex_elements;
- ctx->create_compute_state = noop_create_compute_state;
- ctx->create_tcs_state = noop_create_shader_state;
- ctx->create_tes_state = noop_create_shader_state;
- ctx->create_gs_state = noop_create_shader_state;
- ctx->create_vs_state = noop_create_shader_state;
- ctx->bind_blend_state = noop_bind_state;
- ctx->bind_depth_stencil_alpha_state = noop_bind_state;
- ctx->bind_sampler_states = noop_bind_sampler_states;
- ctx->bind_fs_state = noop_bind_state;
- ctx->bind_rasterizer_state = noop_bind_state;
- ctx->bind_vertex_elements_state = noop_bind_state;
- ctx->bind_compute_state = noop_bind_state;
- ctx->bind_tcs_state = noop_bind_state;
- ctx->bind_tes_state = noop_bind_state;
- ctx->bind_gs_state = noop_bind_state;
- ctx->bind_vs_state = noop_bind_state;
- ctx->delete_blend_state = noop_delete_state;
- ctx->delete_depth_stencil_alpha_state = noop_delete_state;
- ctx->delete_fs_state = noop_delete_state;
- ctx->delete_rasterizer_state = noop_delete_state;
- ctx->delete_sampler_state = noop_delete_state;
- ctx->delete_vertex_elements_state = noop_delete_state;
- ctx->delete_compute_state = noop_delete_state;
- ctx->delete_tcs_state = noop_delete_state;
- ctx->delete_tes_state = noop_delete_state;
- ctx->delete_gs_state = noop_delete_state;
- ctx->delete_vs_state = noop_delete_state;
- ctx->set_blend_color = noop_set_blend_color;
- ctx->set_clip_state = noop_set_clip_state;
- ctx->set_constant_buffer = noop_set_constant_buffer;
- ctx->set_sampler_views = noop_set_sampler_views;
- ctx->set_framebuffer_state = noop_set_framebuffer_state;
- ctx->set_polygon_stipple = noop_set_polygon_stipple;
- ctx->set_sample_mask = noop_set_sample_mask;
- ctx->set_scissor_states = noop_set_scissor_states;
- ctx->set_stencil_ref = noop_set_stencil_ref;
- ctx->set_vertex_buffers = noop_set_vertex_buffers;
- ctx->set_viewport_states = noop_set_viewport_states;
- ctx->sampler_view_destroy = noop_sampler_view_destroy;
- ctx->surface_destroy = noop_surface_destroy;
- ctx->draw_vbo = noop_draw_vbo;
- ctx->launch_grid = noop_launch_grid;
- ctx->create_stream_output_target = noop_create_stream_output_target;
- ctx->stream_output_target_destroy = noop_stream_output_target_destroy;
- ctx->set_stream_output_targets = noop_set_stream_output_targets;
-}