aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fontconfig/src/fcfreetype.c67
-rw-r--r--mesalib/src/glsl/link_varyings.cpp4
-rw-r--r--mesalib/src/glsl/loop_analysis.cpp13
-rw-r--r--mesalib/src/glsl/loop_analysis.h2
-rw-r--r--mesalib/src/mesa/main/bufferobj.c7
-rw-r--r--mesalib/src/mesa/main/get_hash_params.py4
6 files changed, 34 insertions, 63 deletions
diff --git a/fontconfig/src/fcfreetype.c b/fontconfig/src/fcfreetype.c
index cceafd91c..62ce59b4e 100644
--- a/fontconfig/src/fcfreetype.c
+++ b/fontconfig/src/fcfreetype.c
@@ -775,47 +775,26 @@ FcSfntNameLanguage (FT_SfntName *sname)
/* Order is significant. For example, some B&H fonts are hinted by
URW++, and both strings appear in the notice. */
-static const char notice_foundry_data[] =
- "Bigelow\0b&h\0"
- "Adobe\0adobe\0"
- "Bitstream\0bitstream\0"
- "Monotype\0monotype\0"
- "Linotype\0linotype\0"
- "LINOTYPE-HELL\0linotype\0"
- "IBM\0ibm\0"
- "URW\0urw\0"
- "International Typeface Corporation\0itc\0"
- "Tiro Typeworks\0tiro\0"
- "XFree86\0xfree86\0"
- "Microsoft\0microsoft\0"
- "Omega\0omega\0"
- "Font21\0hwan\0"
- "HanYang System\0hanyang";
-
-struct _notice_foundry {
- /* these are the offsets into the
- * notice_foundry_data array.
- */
- unsigned char notice_offset;
- unsigned char foundry_offset;
-};
-
-static const struct _notice_foundry FcNoticeFoundries[] = {
- { 0, 8 },
- { 12, 18 },
- { 24, 34 },
- { 44, 53 },
- { 62, 71 },
- { 80, 94 },
- { 103, 107 },
- { 111, 115 },
- { 119, 154 },
- { 158, 173 },
- { 178, 186 },
- { 194, 204 },
- { 214, 220 },
- { 226, 233 },
- { 238, 253 }
+static const char *FcNoticeFoundries[][2] =
+ {
+ {"Adobe", "adobe"},
+ {"Bigelow", "b&h"},
+ {"Bitstream", "bitstream"},
+ {"Gnat", "culmus"},
+ {"Iorsh", "culmus"},
+ {"HanYang System", "hanyang"},
+ {"Font21", "hwan"},
+ {"IBM", "ibm"},
+ {"International Typeface Corporation", "itc"},
+ {"Linotype", "linotype"},
+ {"LINOTYPE-HELL", "linotype"},
+ {"Microsoft", "microsoft"},
+ {"Monotype", "monotype"},
+ {"Omega", "omega"},
+ {"Tiro Typeworks", "tiro"},
+ {"URW", "urw"},
+ {"XFree86", "xfree86"},
+ {"Xorg", "xorg"},
};
#define NUM_NOTICE_FOUNDRIES (int) (sizeof (FcNoticeFoundries) / sizeof (FcNoticeFoundries[0]))
@@ -828,9 +807,8 @@ FcNoticeFoundry(const FT_String *notice)
if (notice)
for(i = 0; i < NUM_NOTICE_FOUNDRIES; i++)
{
- const struct _notice_foundry *nf = &FcNoticeFoundries[i];
- const char *n = notice_foundry_data + nf->notice_offset;
- const char *f = notice_foundry_data + nf->foundry_offset;
+ const char *n = FcNoticeFoundries[i][0];
+ const char *f = FcNoticeFoundries[i][1];
if (strstr ((const char *) notice, n))
return (const FcChar8 *) f;
@@ -871,6 +849,7 @@ static const struct {
{ "B&H", "b&h"},
{ "BITS", "bitstream"},
{ "CANO", "cannon"},
+ { "CLM", "culmus"},
{ "DYNA", "dynalab"},
{ "EPSN", "epson"},
{ "FJ", "fujitsu"},
diff --git a/mesalib/src/glsl/link_varyings.cpp b/mesalib/src/glsl/link_varyings.cpp
index e2cb46e8c..b1317c832 100644
--- a/mesalib/src/glsl/link_varyings.cpp
+++ b/mesalib/src/glsl/link_varyings.cpp
@@ -868,7 +868,9 @@ public:
tfeedback_candidate_generator(void *mem_ctx,
hash_table *tfeedback_candidates)
: mem_ctx(mem_ctx),
- tfeedback_candidates(tfeedback_candidates)
+ tfeedback_candidates(tfeedback_candidates),
+ toplevel_var(NULL),
+ varying_floats(0)
{
}
diff --git a/mesalib/src/glsl/loop_analysis.cpp b/mesalib/src/glsl/loop_analysis.cpp
index 6a0e4da51..191e92de7 100644
--- a/mesalib/src/glsl/loop_analysis.cpp
+++ b/mesalib/src/glsl/loop_analysis.cpp
@@ -105,7 +105,7 @@ loop_variable_state::insert(ir_if *if_stmt)
class loop_analysis : public ir_hierarchical_visitor {
public:
- loop_analysis();
+ loop_analysis(loop_state *loops);
virtual ir_visitor_status visit(ir_loop_jump *);
virtual ir_visitor_status visit(ir_dereference_variable *);
@@ -129,12 +129,10 @@ public:
};
-loop_analysis::loop_analysis()
+loop_analysis::loop_analysis(loop_state *loops)
+ : loops(loops), if_statement_depth(0), current_assignment(NULL)
{
- this->loops = new loop_state;
-
- this->if_statement_depth = 0;
- this->current_assignment = NULL;
+ /* empty */
}
@@ -521,7 +519,8 @@ is_loop_terminator(ir_if *ir)
loop_state *
analyze_loop_variables(exec_list *instructions)
{
- loop_analysis v;
+ loop_state *loops = new loop_state;
+ loop_analysis v(loops);
v.run(instructions);
return v.loops;
diff --git a/mesalib/src/glsl/loop_analysis.h b/mesalib/src/glsl/loop_analysis.h
index 05c982fc1..769d62661 100644
--- a/mesalib/src/glsl/loop_analysis.h
+++ b/mesalib/src/glsl/loop_analysis.h
@@ -249,7 +249,7 @@ private:
void *mem_ctx;
- friend class loop_analysis;
+ friend loop_state *analyze_loop_variables(exec_list *instructions);
};
#endif /* LOOP_ANALYSIS_H */
diff --git a/mesalib/src/mesa/main/bufferobj.c b/mesalib/src/mesa/main/bufferobj.c
index 89911fe51..ba464fe9f 100644
--- a/mesalib/src/mesa/main/bufferobj.c
+++ b/mesalib/src/mesa/main/bufferobj.c
@@ -2152,13 +2152,6 @@ _mesa_BindBufferRange(GLenum target, GLuint index,
(int) size);
return;
}
-
- if (offset + size > bufObj->Size) {
- _mesa_error(ctx, GL_INVALID_VALUE,
- "glBindBufferRange(offset + size %d > buffer size %d)",
- (int) (offset + size), (int) (bufObj->Size));
- return;
- }
}
switch (target) {
diff --git a/mesalib/src/mesa/main/get_hash_params.py b/mesalib/src/mesa/main/get_hash_params.py
index b6bed809c..1b7d6ad8e 100644
--- a/mesalib/src/mesa/main/get_hash_params.py
+++ b/mesalib/src/mesa/main/get_hash_params.py
@@ -225,9 +225,6 @@ descriptor=[
# GL_OES_point_sprite
[ "POINT_SPRITE_NV", "CONTEXT_BOOL(Point.PointSprite), extra_NV_point_sprite_ARB_point_sprite" ],
-
-# GL_ARB_vertex_shader
- [ "MAX_VARYING_FLOATS_ARB", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_vertex_shader" ],
]},
@@ -362,6 +359,7 @@ descriptor=[
# GL_ARB_vertex_shader
[ "MAX_VERTEX_UNIFORM_COMPONENTS_ARB", "CONTEXT_INT(Const.VertexProgram.MaxUniformComponents), extra_ARB_vertex_shader" ],
+ [ "MAX_VARYING_FLOATS_ARB", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_vertex_shader" ],
# GL_EXT_framebuffer_blit
# NOTE: GL_DRAW_FRAMEBUFFER_BINDING_EXT == GL_FRAMEBUFFER_BINDING_EXT