Comments (7)
The UniChrome chipset uses the combiner class for OGL 1.2/1.3
Original comment by [email protected]
on 29 Mar 2008 at 6:26
from mupen64plus.
While trying to get OSD to work, I inadvertently made some progress on this
issue. I
found that using rice video in my OSD branch, I could see mario's head in the
SM64
intro instead of just the all white screen. I tried with trunk and got the white
screen, so doing some trial and error with tkdiff, I was able to narrow it down
to
this function in OGLRender.cpp:
void OGLRender::ApplyScissorWithClipRatio(bool force)
{
if( !force && status.curScissor == RSP_SCISSOR ) return;
glEnable(GL_SCISSOR_TEST);
glScissor(windowSetting.clipping.left,
int((windowSetting.uViHeight-gRSP.real_clip_scissor_bottom)*windowSetting.fMultY
)+windowSetting.statusBarHeightToUse,
windowSetting.clipping.width, windowSetting.clipping.height);
status.curScissor = RSP_SCISSOR;
}
If I literally comment out all code within this function, I can see mario's
head and
some rendering during gameplay (see attached screenshots). In addition to that,
windowed mode has never worked for me using rice or glN64. Only a rectangle in
the
upper left part of the screen would render. After reading the description of
glScissor, I know why. In both glN64 and rice, I commented out all
glEnable(GL_SCISSOR_TEST) lines and windowed mode works on my system! With rice,
commenting out all instances of enabling GL_SCISSOR_TEST does not make the
output
look any different than just commenting out the one occurrence of it in the
function
I pasted above. With glN64, windowed mode works, but in SM64, when viewing a
sign for
example, the text is not restricted to the message box as it scrolls. You can
see it
below the box. So I'm guessing that the problem here is that the wrong params
are
being passed to glScissor on my system, both in glN64 and rice.
I'm cc'ing Richard42 and Tillin9 since they seem to know the most about graphics
programming. What are your thoughts on this? Thanks.
Original comment by [email protected]
on 30 Apr 2008 at 5:42
from mupen64plus.
forgot to attach the screenshots:
super_mario_64-009 - I always see this much of the logo with rice, whether the
glScissor calls are applied or not.
super_mario_64-002 - With scissor calls disabled, I can see Mario's head.
super_mario_64-003 - The garbage in front of mario's face are the two stars
that spin
around him in the intro (scissor calls disabled).
super_mario_64-000 - This is what rendering during gameplay looks like with
scissor
calls disabled.
Original comment by [email protected]
on 30 Apr 2008 at 5:57
Attachments:
from mupen64plus.
Hm... it could be that GL_SCISSOR_TEST, or some related ability is not properly
supported on UniChrome. This should be OpenGL 1.1 stuff, but the driver could
be
incomplete or extra picky about semantics.
Sadly, my previous widescreen work attempted to redefine and/ or remove the use
of
scissors in Rice caused many regressions. Its possible that continuation on
this
work would solve your problem.
Just a note from those screenshots that everything using textures is white.
However, anything using flat or Gouraud Shading displays properly. This to me
just
screams an issue with the texture code, specifically the combiner.
So, what Combiner are you using? and what OpenGL version does glxinfo say is
supported? Forgive me if these seem like silly questions. With earlier drivers,
my
Radeon displayed similar output in some games (Link and Eponia had no textures
but
were white in OOT) when attempting to use a higher level combiner than the
driver
could support.
Original comment by [email protected]
on 30 Apr 2008 at 7:26
from mupen64plus.
Here's my glxinfo output:
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
client glx vendor string: SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory,
GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control,
GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
GLX version: 1.2
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_swap_control,
GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
OpenGL vendor string: VIA Technology
OpenGL renderer string: Mesa DRI UniChrome 20060710 x86/MMX/SSE2
OpenGL version string: 1.2 Mesa 7.0.2
OpenGL extensions:
GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture,
GL_ARB_point_parameters, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_mirrored_repeat,
GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object, GL_ARB_window_pos,
GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_minmax,
GL_EXT_blend_subtract, GL_EXT_clip_volume_hint,
GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture,
GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_histogram,
GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_polygon_offset,
GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_separate_specular_color, GL_EXT_stencil_wrap, GL_EXT_subtexture,
GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_vertex_array,
GL_APPLE_packed_pixels, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_MESA_window_pos, GL_NV_blend_square,
GL_NV_light_max_exponent, GL_NV_texgen_reflection, GL_OES_read_format,
GL_SGI_color_matrix, GL_SGI_color_table, GL_SGIS_texture_edge_clamp,
GL_SGIS_texture_lod
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x22 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x23 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x24 24 tc 0 32 0 r y . 8 8 8 8 0 16 0 0 0 0 0 0 0 None
0x25 24 tc 0 32 0 r . . 8 8 8 8 0 16 0 0 0 0 0 0 0 None
0x26 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
0x27 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
0x28 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x29 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x2a 24 tc 0 32 0 r y . 8 8 8 8 0 16 0 16 16 16 16 0 0 Slow
0x2b 24 tc 0 32 0 r . . 8 8 8 8 0 16 0 16 16 16 16 0 0 Slow
0x2c 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow
0x2d 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow
0x47 32 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 Ncon
Original comment by [email protected]
on 30 Apr 2008 at 7:36
from mupen64plus.
Original comment by [email protected]
on 1 May 2008 at 12:50
from mupen64plus.
Original comment by [email protected]
on 8 Jan 2010 at 5:06
- Changed state: WontFix
from mupen64plus.
Related Issues (20)
- OUYA Game Controller (Bluetooth)
- Configuring Controller needs root priveleges? HOT 2
- Goldeneye Multiplayer is glitchy on bottom half
- Problem with rice plugin and mesa driver (ati 9250)
- can't save keyboard configuration HOT 1
- No auto-config found for joystick named 'GC/N64 to USB, v2.3' (Adding it to the config does nothing) HOT 2
- Mupen64Plus Crashes instantly on startup HOT 2
- (OpenEmu) Super Mario 64 Moon Jump Code Bug HOT 2
- Conker's bad fur day shadows are broken, appear as large squares
- Windows, MadCatz 360 controller, unusable
- Corner map is invisible in OoT using Glide HOT 1
- glide64mk2: NO_ASM should imply NOSSE
- mupen64plus: memory loads and branch delay slot exceptions not optimized
- Support non-cycle accurate way to do better non stalling RSP execution HOT 1
- Majoras Mask Crash on Mac when entering the Stock Pott Inn for the first time HOT 6
- Sudden input error from Wii Classic Controller Pro HOT 3
- Xbox 360 controller on FireTV HOT 1
- audio - video sync problem HOT 1
- XBMC Integration w/ latest Mupen64plus HOT 3
- Compilation error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mupen64plus.