Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
ed0f5569
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ed0f5569
编写于
5月 15, 2012
作者:
D
dcherepanov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7168550: [macosx] duplicate OGL context state changes related to vertex cache
Reviewed-by: bae, swingler
上级
4a6c6b7b
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
30 addition
and
27 deletion
+30
-27
src/macosx/native/sun/java2d/opengl/CGLSurfaceData.m
src/macosx/native/sun/java2d/opengl/CGLSurfaceData.m
+2
-1
src/share/native/sun/java2d/opengl/OGLContext.h
src/share/native/sun/java2d/opengl/OGLContext.h
+1
-0
src/share/native/sun/java2d/opengl/OGLTextRenderer.c
src/share/native/sun/java2d/opengl/OGLTextRenderer.c
+4
-5
src/share/native/sun/java2d/opengl/OGLVertexCache.c
src/share/native/sun/java2d/opengl/OGLVertexCache.c
+22
-20
src/share/native/sun/java2d/opengl/OGLVertexCache.h
src/share/native/sun/java2d/opengl/OGLVertexCache.h
+1
-1
未找到文件。
src/macosx/native/sun/java2d/opengl/CGLSurfaceData.m
浏览文件 @
ed0f5569
...
@@ -204,7 +204,8 @@ JNF_COCOA_ENTER(env);
...
@@ -204,7 +204,8 @@ JNF_COCOA_ENTER(env);
if (!CGLSD_MakeCurrentToScratch(env, oglc)) {
if (!CGLSD_MakeCurrentToScratch(env, oglc)) {
return NULL;
return NULL;
}
}
} else if ([NSOpenGLContext currentContext] == nil) {
// make sure our context is current
} else if ([NSOpenGLContext currentContext] != ctxinfo->context) {
[ctxinfo->context makeCurrentContext];
[ctxinfo->context makeCurrentContext];
}
}
...
...
src/share/native/sun/java2d/opengl/OGLContext.h
浏览文件 @
ed0f5569
...
@@ -84,6 +84,7 @@ typedef struct {
...
@@ -84,6 +84,7 @@ typedef struct {
GLdouble
*
xformMatrix
;
GLdouble
*
xformMatrix
;
GLuint
blitTextureID
;
GLuint
blitTextureID
;
GLint
textureFunction
;
GLint
textureFunction
;
jboolean
vertexCacheEnabled
;
}
OGLContext
;
}
OGLContext
;
/**
/**
...
...
src/share/native/sun/java2d/opengl/OGLTextRenderer.c
浏览文件 @
ed0f5569
...
@@ -202,11 +202,6 @@ OGLTR_InitGlyphCache(jboolean lcdCache)
...
@@ -202,11 +202,6 @@ OGLTR_InitGlyphCache(jboolean lcdCache)
J2dTraceLn
(
J2D_TRACE_INFO
,
"OGLTR_InitGlyphCache"
);
J2dTraceLn
(
J2D_TRACE_INFO
,
"OGLTR_InitGlyphCache"
);
// init vertex cache (if it hasn't been already)
if
(
!
OGLVertexCache_InitVertexCache
())
{
return
JNI_FALSE
;
}
// init glyph cache data structure
// init glyph cache data structure
gcinfo
=
AccelGlyphCache_Init
(
OGLTR_CACHE_WIDTH
,
gcinfo
=
AccelGlyphCache_Init
(
OGLTR_CACHE_WIDTH
,
OGLTR_CACHE_HEIGHT
,
OGLTR_CACHE_HEIGHT
,
...
@@ -583,6 +578,10 @@ OGLTR_EnableGlyphVertexCache(OGLContext *oglc)
...
@@ -583,6 +578,10 @@ OGLTR_EnableGlyphVertexCache(OGLContext *oglc)
{
{
J2dTraceLn
(
J2D_TRACE_INFO
,
"OGLTR_EnableGlyphVertexCache"
);
J2dTraceLn
(
J2D_TRACE_INFO
,
"OGLTR_EnableGlyphVertexCache"
);
if
(
!
OGLVertexCache_InitVertexCache
(
oglc
))
{
return
;
}
if
(
glyphCache
==
NULL
)
{
if
(
glyphCache
==
NULL
)
{
if
(
!
OGLTR_InitGlyphCache
(
JNI_FALSE
))
{
if
(
!
OGLTR_InitGlyphCache
(
JNI_FALSE
))
{
return
;
return
;
...
...
src/share/native/sun/java2d/opengl/OGLVertexCache.c
浏览文件 @
ed0f5569
...
@@ -67,19 +67,18 @@ static jint maskCacheIndex = 0;
...
@@ -67,19 +67,18 @@ static jint maskCacheIndex = 0;
} while (0)
} while (0)
jboolean
jboolean
OGLVertexCache_InitVertexCache
()
OGLVertexCache_InitVertexCache
(
OGLContext
*
oglc
)
{
{
J2dTraceLn
(
J2D_TRACE_INFO
,
"OGLVertexCache_InitVertexCache"
);
J2dTraceLn
(
J2D_TRACE_INFO
,
"OGLVertexCache_InitVertexCache"
);
if
(
vertexCache
!=
NULL
)
{
if
(
vertexCache
==
NULL
)
{
return
JNI_TRUE
;
}
vertexCache
=
(
J2DVertex
*
)
malloc
(
OGLVC_MAX_INDEX
*
sizeof
(
J2DVertex
));
vertexCache
=
(
J2DVertex
*
)
malloc
(
OGLVC_MAX_INDEX
*
sizeof
(
J2DVertex
));
if
(
vertexCache
==
NULL
)
{
if
(
vertexCache
==
NULL
)
{
return
JNI_FALSE
;
return
JNI_FALSE
;
}
}
}
if
(
!
oglc
->
vertexCacheEnabled
)
{
j2d_glTexCoordPointer
(
2
,
GL_FLOAT
,
j2d_glTexCoordPointer
(
2
,
GL_FLOAT
,
sizeof
(
J2DVertex
),
vertexCache
);
sizeof
(
J2DVertex
),
vertexCache
);
j2d_glColorPointer
(
4
,
GL_UNSIGNED_BYTE
,
j2d_glColorPointer
(
4
,
GL_UNSIGNED_BYTE
,
...
@@ -91,6 +90,9 @@ OGLVertexCache_InitVertexCache()
...
@@ -91,6 +90,9 @@ OGLVertexCache_InitVertexCache()
j2d_glEnableClientState
(
GL_COLOR_ARRAY
);
j2d_glEnableClientState
(
GL_COLOR_ARRAY
);
j2d_glEnableClientState
(
GL_VERTEX_ARRAY
);
j2d_glEnableClientState
(
GL_VERTEX_ARRAY
);
oglc
->
vertexCacheEnabled
=
JNI_TRUE
;
}
return
JNI_TRUE
;
return
JNI_TRUE
;
}
}
...
@@ -149,10 +151,6 @@ OGLVertexCache_InitMaskCache()
...
@@ -149,10 +151,6 @@ OGLVertexCache_InitMaskCache()
{
{
J2dTraceLn
(
J2D_TRACE_INFO
,
"OGLVertexCache_InitMaskCache"
);
J2dTraceLn
(
J2D_TRACE_INFO
,
"OGLVertexCache_InitMaskCache"
);
if
(
!
OGLVertexCache_InitVertexCache
())
{
return
JNI_FALSE
;
}
maskCacheTexID
=
maskCacheTexID
=
OGLContext_CreateBlitTexture
(
GL_INTENSITY8
,
GL_LUMINANCE
,
OGLContext_CreateBlitTexture
(
GL_INTENSITY8
,
GL_LUMINANCE
,
OGLVC_MASK_CACHE_WIDTH_IN_TEXELS
,
OGLVC_MASK_CACHE_WIDTH_IN_TEXELS
,
...
@@ -179,6 +177,10 @@ OGLVertexCache_EnableMaskCache(OGLContext *oglc)
...
@@ -179,6 +177,10 @@ OGLVertexCache_EnableMaskCache(OGLContext *oglc)
{
{
J2dTraceLn
(
J2D_TRACE_INFO
,
"OGLVertexCache_EnableMaskCache"
);
J2dTraceLn
(
J2D_TRACE_INFO
,
"OGLVertexCache_EnableMaskCache"
);
if
(
!
OGLVertexCache_InitVertexCache
(
oglc
))
{
return
;
}
if
(
maskCacheTexID
==
0
)
{
if
(
maskCacheTexID
==
0
)
{
if
(
!
OGLVertexCache_InitMaskCache
())
{
if
(
!
OGLVertexCache_InitMaskCache
())
{
return
;
return
;
...
...
src/share/native/sun/java2d/opengl/OGLVertexCache.h
浏览文件 @
ed0f5569
...
@@ -65,7 +65,7 @@
...
@@ -65,7 +65,7 @@
/**
/**
* Exported methods.
* Exported methods.
*/
*/
jboolean
OGLVertexCache_InitVertexCache
();
jboolean
OGLVertexCache_InitVertexCache
(
OGLContext
*
oglc
);
void
OGLVertexCache_FlushVertexCache
();
void
OGLVertexCache_FlushVertexCache
();
void
OGLVertexCache_RestoreColorState
(
OGLContext
*
oglc
);
void
OGLVertexCache_RestoreColorState
(
OGLContext
*
oglc
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录