#include "pipe/p_format.h"
/**
- * \file API for communication between state trackers and state tracker
- * managers.
+ * \file API for communication between gallium frontends and supporting
+ * frontends such as DRI.
*
- * While both are state tackers, we use the term state tracker for rendering
- * APIs such as OpenGL or OpenVG, and state tracker manager for window system
- * APIs such as EGL or GLX in this file.
- *
- * This file defines an API to be implemented by both state trackers and state
- * tracker managers.
+ * This file defines an API to be implemented by both gallium frontends and
+ * their managers.
*/
/**
- * The supported rendering API of a state tracker.
+ * The supported rendering API.
*/
enum st_api_type {
ST_API_OPENGL,
#define ST_PROFILE_OPENGL_ES2_MASK (1 << ST_PROFILE_OPENGL_ES2)
/**
- * Optional API/state tracker features.
+ * Optional API features.
*/
enum st_api_feature
{
*/
enum st_manager_param {
/**
- * The dri state tracker on old libGL's doesn't do the right thing
+ * The DRI frontend on old libGL's doesn't do the right thing
* with regards to invalidating the framebuffers.
*
- * For the mesa state tracker that means that it needs to invalidate
+ * For the GL gallium frontend that means that it needs to invalidate
* the framebuffer in glViewport itself.
*/
ST_MANAGER_BROKEN_INVALIDATE
bool force_glsl_extensions_warn;
unsigned force_glsl_version;
bool allow_glsl_extension_directive_midshader;
+ bool allow_glsl_120_subset_in_110;
bool allow_glsl_builtin_const_expression;
bool allow_glsl_relaxed_es;
bool allow_glsl_builtin_variable_redeclaration;
/**
* Represent a windowing system drawable.
*
- * The framebuffer is implemented by the state tracker manager and
- * used by the state trackers.
+ * The framebuffer is implemented by the frontend manager and
+ * used by gallium frontends.
*
- * Instead of the winsys poking into the API context to figure
- * out what buffers that might be needed in the future by the API
+ * Instead of the winsys poking into the frontend context to figure
+ * out what buffers that might be needed in the future by the frontend
* context, it calls into the framebuffer to get the textures.
*
* This structure along with the notify_invalid_framebuffer
uint32_t ID;
/**
- * The state tracker manager that manages this object.
+ * The frontend manager that manages this object.
*/
struct st_manager *state_manager;
/**
- * Available for the state tracker manager to use.
+ * Available for the frontend manager to use.
*/
void *st_manager_private;
enum st_attachment_type statt);
/**
- * The state tracker asks for the textures it needs.
+ * the gallium frontend asks for the textures it needs.
*
* It should try to only ask for attachments that it currently renders
* to, thus allowing the winsys to delay the allocation of textures not
/**
* Represent a rendering context.
*
- * This entity is created from st_api and used by the state tracker manager.
+ * This entity is created from st_api and used by the frontend manager.
*/
struct st_context_iface
{
/**
- * Available for the state tracker and the manager to use.
+ * Available for the gallium frontend and the manager to use.
*/
void *st_context_private;
void *st_manager_private;
/**
- * The state tracker manager that manages this object.
+ * The frontend manager that manages this object.
*/
struct st_manager *state_manager;
/**
- * Represent a state tracker manager.
+ * Represent a frontend manager.
*
- * This interface is implemented by the state tracker manager. It corresponds
+ * This interface is implemented by the frontend manager. It corresponds
* to a "display" in the window system.
*/
struct st_manager
struct util_queue_monitoring *queue_info);
/**
- * Destroy any private data used by the state tracker manager.
+ * Destroy any private data used by the frontend manager.
*/
void (*destroy)(struct st_manager *smapi);
/**
- * Available for the state tracker manager to use.
+ * Available for the frontend manager to use.
*/
void *st_manager_private;
};
/**
* Represent a rendering API such as OpenGL or OpenVG.
*
- * Implemented by the state tracker and used by the state tracker manager.
+ * Implemented by the gallium frontend and used by the frontend manager.
*/
struct st_api
{