renderer: Add cogl_renderer_get_n_fragment_texture_units()
Add a method on the renderer to know how many texture image units are accessible from fragment shaders. https://bugzilla.gnome.org/show_bug.cgi?id=657347 Reviewed-by: Robert Bragg <robert@linux.intel.com>
This commit is contained in:
parent
6a2e21183c
commit
c36652a4c3
@ -35,6 +35,7 @@
|
|||||||
#include "cogl-internal.h"
|
#include "cogl-internal.h"
|
||||||
#include "cogl-private.h"
|
#include "cogl-private.h"
|
||||||
#include "cogl-object.h"
|
#include "cogl-object.h"
|
||||||
|
#include "cogl-context-private.h"
|
||||||
|
|
||||||
#include "cogl-renderer.h"
|
#include "cogl-renderer.h"
|
||||||
#include "cogl-renderer-private.h"
|
#include "cogl-renderer-private.h"
|
||||||
@ -394,3 +395,18 @@ _cogl_renderer_get_proc_address (CoglRenderer *renderer,
|
|||||||
|
|
||||||
return winsys->renderer_get_proc_address (renderer, name);
|
return winsys->renderer_get_proc_address (renderer, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
cogl_renderer_get_n_fragment_texture_units (CoglRenderer *renderer)
|
||||||
|
{
|
||||||
|
int n = 0;
|
||||||
|
|
||||||
|
_COGL_GET_CONTEXT (ctx, 0);
|
||||||
|
|
||||||
|
#if defined (HAVE_COGL_GL) || defined (HAVE_COGL_GLES2)
|
||||||
|
if (ctx->driver == COGL_DRIVER_GL || ctx->driver == COGL_DRIVER_GLES2)
|
||||||
|
GE (ctx, glGetIntegerv (GL_MAX_TEXTURE_IMAGE_UNITS, &n));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
@ -114,6 +114,22 @@ cogl_renderer_set_winsys_id (CoglRenderer *renderer,
|
|||||||
CoglWinsysID
|
CoglWinsysID
|
||||||
cogl_renderer_get_winsys_id (CoglRenderer *renderer);
|
cogl_renderer_get_winsys_id (CoglRenderer *renderer);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cogl_renderer_get_n_fragment_texture_units:
|
||||||
|
* @renderer: A #CoglRenderer
|
||||||
|
*
|
||||||
|
* Queries how many texture units can be used from fragment programs
|
||||||
|
*
|
||||||
|
* Returns: the number of texture image units.
|
||||||
|
*
|
||||||
|
* Since: 1.8
|
||||||
|
* Stability: Unstable
|
||||||
|
*/
|
||||||
|
#define cogl_renderer_get_n_fragment_texture_units \
|
||||||
|
cogl_renderer_get_n_fragment_texture_units_EXP
|
||||||
|
int
|
||||||
|
cogl_renderer_get_n_fragment_texture_units (CoglRenderer *renderer);
|
||||||
|
|
||||||
#define cogl_renderer_check_onscreen_template \
|
#define cogl_renderer_check_onscreen_template \
|
||||||
cogl_renderer_check_onscreen_template_EXP
|
cogl_renderer_check_onscreen_template_EXP
|
||||||
gboolean
|
gboolean
|
||||||
|
@ -14,6 +14,7 @@ cogl_object_set_user_data
|
|||||||
<FILE>cogl-renderer</FILE>
|
<FILE>cogl-renderer</FILE>
|
||||||
<TITLE>CoglRenderer: Connect to a backend renderer</TITLE>
|
<TITLE>CoglRenderer: Connect to a backend renderer</TITLE>
|
||||||
cogl_renderer_new
|
cogl_renderer_new
|
||||||
|
cogl_renderer_get_n_fragment_texture_units
|
||||||
cogl_renderer_connect
|
cogl_renderer_connect
|
||||||
|
|
||||||
<SUBSECTION>
|
<SUBSECTION>
|
||||||
|
Loading…
Reference in New Issue
Block a user