pipe_screen Struct Reference

Screen, Adapter or GPU. More...

Collaboration diagram for pipe_screen:

Collaboration graph
[legend]

Data Fields

struct pipe_winsyswinsys
void(* destroy )(struct pipe_screen *)
const char *(* get_name )(struct pipe_screen *)
const char *(* get_vendor )(struct pipe_screen *)
int(* get_param )(struct pipe_screen *, int param)
 Query an integer-valued capability/parameter/limit.
float(* get_paramf )(struct pipe_screen *, int param)
 Query a float-valued capability/parameter/limit.
boolean(* is_format_supported )(struct pipe_screen *, enum pipe_format format, enum pipe_texture_target target, unsigned tex_usage, unsigned geom_flags)
 Check if the given pipe_format is supported as a texture or drawing surface.
struct pipe_texture *(* texture_create )(struct pipe_screen *, const struct pipe_texture *templat)
 Create a new texture object, using the given template info.
struct pipe_texture *(* texture_blanket )(struct pipe_screen *, const struct pipe_texture *templat, const unsigned *pitch, struct pipe_buffer *buffer)
 Create a new texture object, using the given template info, but on top of existing memory.
void(* texture_release )(struct pipe_screen *, struct pipe_texture **pt)
struct pipe_surface *(* get_tex_surface )(struct pipe_screen *, struct pipe_texture *texture, unsigned face, unsigned level, unsigned zslice, unsigned usage)
 Get a surface which is a "view" into a texture.
void(* tex_surface_release )(struct pipe_screen *, struct pipe_surface **)
void *(* surface_map )(struct pipe_screen *, struct pipe_surface *surface, unsigned flags)
void(* surface_unmap )(struct pipe_screen *, struct pipe_surface *surface)

Detailed Description

Screen, Adapter or GPU.

These are driver functions/facilities that are context independent. Gallium screen/adapter context. Basically everything hardware-specific that doesn't actually require a rendering context.

Definition at line 55 of file p_screen.h.


Field Documentation

struct pipe_winsys* pipe_screen::winsys [read]

Definition at line 56 of file p_screen.h.

void(* pipe_screen::destroy)(struct pipe_screen *)

const char*(* pipe_screen::get_name)(struct pipe_screen *)

const char*(* pipe_screen::get_vendor)(struct pipe_screen *)

int(* pipe_screen::get_param)(struct pipe_screen *, int param)

Query an integer-valued capability/parameter/limit.

Parameters:
param one of PIPE_CAP_x

float(* pipe_screen::get_paramf)(struct pipe_screen *, int param)

Query a float-valued capability/parameter/limit.

Parameters:
param one of PIPE_CAP_x

boolean(* pipe_screen::is_format_supported)(struct pipe_screen *, enum pipe_format format, enum pipe_texture_target target, unsigned tex_usage, unsigned geom_flags)

Check if the given pipe_format is supported as a texture or drawing surface.

Parameters:
tex_usage bitmask of PIPE_TEXTURE_USAGE_*
flags bitmask of PIPE_TEXTURE_GEOM_*

struct pipe_texture*(* pipe_screen::texture_create)(struct pipe_screen *, const struct pipe_texture *templat) [read]

Create a new texture object, using the given template info.

struct pipe_texture*(* pipe_screen::texture_blanket)(struct pipe_screen *, const struct pipe_texture *templat, const unsigned *pitch, struct pipe_buffer *buffer) [read]

Create a new texture object, using the given template info, but on top of existing memory.

It is assumed that the buffer data is layed out according to the expected by the hardware. NULL will be returned if any inconsistency is found.

void(* pipe_screen::texture_release)(struct pipe_screen *, struct pipe_texture **pt)

struct pipe_surface*(* pipe_screen::get_tex_surface)(struct pipe_screen *, struct pipe_texture *texture, unsigned face, unsigned level, unsigned zslice, unsigned usage) [read]

Get a surface which is a "view" into a texture.

void(* pipe_screen::tex_surface_release)(struct pipe_screen *, struct pipe_surface **)

void*(* pipe_screen::surface_map)(struct pipe_screen *, struct pipe_surface *surface, unsigned flags)

void(* pipe_screen::surface_unmap)(struct pipe_screen *, struct pipe_surface *surface)


The documentation for this struct was generated from the following file:
Generated on Tue Sep 29 06:26:04 2009 for Gallium3D by  doxygen 1.5.4