summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/noop/noop_pipe.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2018-04-07 14:01:12 -0400
committerMarek Olšák <[email protected]>2018-04-13 14:08:14 -0400
commit6ff0c6f4ebcb87ea6c6fe5a4ba90b548f666067d (patch)
tree30926986da28bb0b67b857d8f2cf7eeaa77f8773 /src/gallium/drivers/noop/noop_pipe.c
parent918b798668c5465d85ca542423e4cf525dc79b31 (diff)
gallium: move ddebug, noop, rbug, trace to auxiliary to improve build times
which also simplifies the build scripts.
Diffstat (limited to 'src/gallium/drivers/noop/noop_pipe.c')
-rw-r--r--src/gallium/drivers/noop/noop_pipe.c498
1 files changed, 0 insertions, 498 deletions
diff --git a/src/gallium/drivers/noop/noop_pipe.c b/src/gallium/drivers/noop/noop_pipe.c
deleted file mode 100644
index d1e795dab16..00000000000
--- 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;
-}