Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
20 crawler(s) on-line.
 60 guest(s) on-line.
 1 member(s) on-line.


 OlafS25

You are an anonymous user.
Register Now!
 OlafS25:  2 mins ago
 Cammy:  14 mins ago
 amigakit:  40 mins ago
 Karlos:  58 mins ago
 AmigaPapst:  1 hr 17 mins ago
 SOFISTISOFTWARE:  1 hr 20 mins ago
 Marcian:  1 hr 22 mins ago
 Musashi5150:  1 hr 24 mins ago
 kolla:  1 hr 32 mins ago
 Hammer:  1 hr 52 mins ago

/  Forum Index
   /  MorphOS Software
      /  Proposed MorphOS GFX/Driver evolution path
Register To Post

Goto page ( Previous Page 1 | 2 )
PosterThread
t0lkien 
Re: Proposed MorphOS GFX/Driver evolution path
Posted on 5-Oct-2022 9:32:43
#21 ]
Regular Member
Joined: 25-Sep-2004
Posts: 183
From: SPAIN

It's time for a new public update of TinyGL. You can download it here.

The highlights of this update are:
- Support for shaders on R500.
- Various shader related bug fixes and optimisations.
- Inclusion of ShaderBoy to test and play around with shaders.

Changes from 2022-09-08 to 2022-10-05
-------------------------------------
tinygl.library:
- Library version is now 53.3
- Fixed a bug that could cause problems using certain OpenGL state values and matrices in shaders.

r300.library:
- Library version is now 53.7
- Added vertex and fragment shader support for R500.
- Added support for the exp2() and log2() functions in vertex shaders.
- Fixed an off-by-one bug that caused the Radeon hardware to execute one more instruction than was actually contained in the vertex program, causing unpredictable outcome.
- Fixed a bug that could cause vertex shaders using a large amount of temporary registers to misbehave.
- Fixed an oversight in the fragment program compiler that caused fragment programs on R300/R400 to sometimes erroneously consider a fragment kill instruction to start a new fragment program stage, making some fragment programs fail to compile where they should have worked.
- Added a simple optimisation to the R300/R400 fragment program compiler to try the number of fragment program stages consumed.
- Fixed a problem that could make certain conditional comparisons in vertex shaders to fail to compile.
- Added an optimisation pass to reduce the number of temporary registers used. Currently only enabled for vertex programs and R500 fragment programs, with R300 fragment programs still to come.
- Fixed the reading of gl_FragCoord in fragment shaders where a vertex shader is also present.

Last edited by t0lkien on 05-Oct-2022 at 11:28 AM.

 Status: Offline
Profile     Report this post  
t0lkien 
Re: Proposed MorphOS GFX/Driver evolution path
Posted on 5-Oct-2022 9:33:08
#22 ]
Regular Member
Joined: 25-Sep-2004
Posts: 183
From: SPAIN

Double post

Last edited by t0lkien on 05-Oct-2022 at 09:33 AM.

 Status: Offline
Profile     Report this post  
t0lkien 
Re: Proposed MorphOS GFX/Driver evolution path
Posted on 16-Dec-2022 14:17:20
#23 ]
Regular Member
Joined: 25-Sep-2004
Posts: 183
From: SPAIN

Changes from 2022-10-19 to 2022-12-16
-------------------------------------
tinygl.library:
- Library version is now 53.5
- Implemented the fixed function OpenGL vertex and fragment pipeline as dynamically generated shaders. This implementation is used on graphics cards that support shaders instead of the previous limited fixed function support in hardware/drivers.
- Now supports setting and retrieving all OpenGL 2.1 glEnable() and glDisable() states, although no actualy functionality has been added for most of the new states yet.
- Added support for GL_COLOR_SUM.
- Fixed a problem where using glBufferData() to overwrite the contents of an existing vertex buffer object could lead to the new data not being used by the driver right away.
- glGetBufferParameteriv() now supports querying the following attributes: GL_BUFFER_ACCESS, GL_BUFFER_MAPPED and GL_BUFFER_USAGE.
- glTexGen#?() now reject setting GL_TEXTURE_GEN_MODE to GL_SPHERE_MAP for the GL_R and GL_Q coordinates, and setting GL_TEXTURE_GEN_MODE to GL_REFLECTION_MAP for the GL_Q coordinate.
- When using TinyGL to render directly to a window, and that window is being resized, TinyGL will no longer overwrite the window borders.
- Several other problems related to using TinyGL to render directly to a window, that could cause TinyGL to misbehave and misrender, have been fixed.
- The ARB program parser now correctly parses and compiles "state.material.X" operands, and correctly handles accesses to "state.light.X" and "state.lightmodel.X".
- ARB programs that access transposed state matrices now work correctly.
- Setting and getting GL_TEXTURE_GEN_Q now works correctly.
- In ARB programs, several state variables (accessed via 'state.' in the program source code) were not automatically updated in hardware when the OpenGL state changed. This has now been fixed.
- Revamped how TinyGL keeps track of what vertex data is required to complete a draw call. Previously TinyGL could in some cases supply either not enough data, causing misrendering, or too much data, causing performance degradation.
- When using immediate mode rendering (via glBegin()), TinyGL now keeps all 4 components of the texture coordinates passed and not just the first two. This makes for example cube maps and texture matrices work when using with immediate mode.
- Added support for setting GL_LIGHT_MODEL_COLOR_CONTROL via glLightModel#?().
- Added support for getting the following states via glGet#?():
o GL_CURRENT_SECONDARY_COLOR
o GL_INDEX_MODE
o GL_LIGHT_MODEL_COLOR_CONTROL
o GL_RGBA_MODE
o GL_SECONDARY_COLOR_ARRAY_POINTER
- The initial immediate mode normal value when creating a new context has been fixed to correspond to the value required by OpenGL.
- Added support for supplying secondary colours to OpenGL via glSecondaryColor#?().
- Deleting a vertex buffer object that was currently bound to the normal array would previously keep a stale pointer to the delete vertex buffer object in the vertex array state, potentially leading to TinyGL trying to use the already deleted vertex buffer object.
- If the driver fails to compile an ARB program, the driver's error message is now passed on to the OpenGL application, rather than just returning a generic error message and discarding the driver error message.
- Using glBitmap() while a program/shader or a cubemap texture is active no longer fails.
- The glWindowPos#?() set of functions have been fixed to correctly interpret the y coordinate is having its origin at the bottom of the screen rather than the top of the screen. This primarily caused some OpenGL example code to render status text at the bottom of the display instead of the top, or vice versa.
o Please note that to preserve compatibility with existing software that expects the wrong behaviour, the standards compliant behaviour is only activated for software that calls tglEnableNewExtensions().
- TinyGL's handling of the 'default' textures for each target (texture ID 0) was broken and didn't take into account the different texture target types (GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP, etc). This caused misrendering with mostly OpenGL example apps that reused the default OpenGL texture ID for rendering cube maps, instead of allocating a new texture for it.
- The default state for OpenGL lights is now initialised correctly when creating a new context. Programs that use the default light position and never sets a position of their own now work correctly.
- The following functions now have proper OpenGL error reporting:
o glBindBuffer()
o glBufferData()
o glBufferSubData()
o glDeleteBuffers()
o glDisableClientState()
o glEnableClientState()
o glGetBufferParameteriv
o glIsBuffer()
o glLightf()
o glLightfv()
o glLighti()
o glLightiv()
o glLightModeli()
o glLightModeliv()
o glLightModelf()
o glLightModelfv()
- New OpenGL extensions advertised:
o GL_EXT_secondary_color

r200.library:
- Library version is now 53.4.
- Added support client programs directly supplying the secondary OpenGL colour.

r300.library:
- Library version is now 53.9.
- Added support client programs directly supplying the secondary OpenGL colour.
- Added support for several previously unsupported opcodes in the vertex program compiler and in the fragment program compilers for both R300/R400 and R500.
- Fixed a bug that would lead to a Radeon hardware crash when trying to use a vertex program that used no constant data at all.
- Fixed a bug where using a kill/discard instruction in a fragment program after sampling a texture could lead to program compilation failing.
- Fixed a bug that would in certain cases lead to misrendering when using more than one set of texture coordinates.
- Fixed a bug that could cause wrong texture rendering when switching between using programs/shaders and fixed function rendering.

freeglut.library:
- New port of FreeGLUT version 3.4.0 to MorphOS. This supercedes TinyGL's built-in GLUT support, is a lot more feature complete and makes it easier to port GLUT OpenGL examples to MorphOS.

SDK:
- Includes have been reworked a bit to be more MorphOS-like. clib/tinygl_protos.h is now a proper clib include that contains just the prototypes of tinygl.library's public functions.
- the includes now define GL_VERSION_x_y, with x and y corresponding to the OpenGL versions supported by the includes.
- For each OpenGL extension supported, the includes now define a preprocessor macro with the same name as the OpenGL extension, e.g. GL_ARB_vertex_buffer_object.
- Contains includes and link library for freeglut.library.

 Status: Offline
Profile     Report this post  
Goto page ( Previous Page 1 | 2 )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle