OSDev.org

The Place to Start for Operating System Developers
It is currently Fri Mar 29, 2024 6:32 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 19 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: Exterminate All Operating System Abstractions
PostPosted: Thu Jul 28, 2016 1:52 am 
Offline
Member
Member
User avatar

Joined: Sat Jan 15, 2005 12:00 am
Posts: 8561
Location: At his keyboard!
Hi,

Rusky wrote:
Brendan wrote:
Basically; for graphics; it should never be a question of "will it work" and should only ever be a question of "how well does it work" (frame rate, graphics quality). That can not happen because the abstraction isn't abstract.
By that logic, programs should never be allowed to rely on CPU-side hardware features either.


This is (part of) what high level programming languages have been trying to do for about 60 years (abstract low level details of the underlying CPU so high level code is portable to different CPUs).

Rusky wrote:
But go ahead and try to design a graphics API that accepts the sorts of assets we see in AAA games today and produces something at all useful on a fixed-function pipeline from the 90s- I'll wait.


Why wait? It's trivial to design a graphics API that does this and you could do it yourself.

Regardless of how the graphics API is designed; the hard part is always implementing drivers that support GPUs and/or getting acceptable quality graphics with the "performance challenge" of software rendering.

The fact is you don't even need a new graphics API for this. You could (e.g.) implement DirectX12 in software (including emulating a modern GPU in software) and make the exact same assets we see in existing AAA games work on an ancient CGA card (just with worse quality/resolution/colour depth and far worse frame rate).


Cheers,

Brendan

_________________
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.


Top
 Profile  
 
 Post subject: Re: Exterminate All Operating System Abstractions
PostPosted: Thu Jul 28, 2016 8:18 am 
Offline
Member
Member
User avatar

Joined: Wed Jan 06, 2010 7:07 pm
Posts: 792
Brendan wrote:
This is (part of) what high level programming languages have been trying to do for about 60 years (abstract low level details of the underlying CPU so high level code is portable to different CPUs).
Yep. Same goes for e.g. Vulkan, which specifically abstracts the differences between desktop and mobile GPUs so we no longer need separate OpenGL and OpenGL ES APIs.

Brendan wrote:
Rusky wrote:
But go ahead and try to design a graphics API that accepts the sorts of assets we see in AAA games today and produces something at all useful on a fixed-function pipeline from the 90s- I'll wait.


The fact is you don't even need a new graphics API for this. You could (e.g.) implement DirectX12 in software (including emulating a modern GPU in software) and make the exact same assets we see in existing AAA games work on an ancient CGA card (just with worse quality/resolution/colour depth and far worse frame rate).
You missed the part about being "at all useful."

_________________
[www.abubalay.com]


Top
 Profile  
 
 Post subject: Re: Exterminate All Operating System Abstractions
PostPosted: Thu Jul 28, 2016 8:29 am 
Offline
Member
Member
User avatar

Joined: Sat Jan 15, 2005 12:00 am
Posts: 8561
Location: At his keyboard!
Hi,

Rusky wrote:
Brendan wrote:
This is (part of) what high level programming languages have been trying to do for about 60 years (abstract low level details of the underlying CPU so high level code is portable to different CPUs).
Yep. Same goes for e.g. Vulkan, which specifically abstracts the differences between desktop and mobile GPUs so we no longer need separate OpenGL and OpenGL ES APIs.

Brendan wrote:
Rusky wrote:
But go ahead and try to design a graphics API that accepts the sorts of assets we see in AAA games today and produces something at all useful on a fixed-function pipeline from the 90s- I'll wait.


The fact is you don't even need a new graphics API for this. You could (e.g.) implement DirectX12 in software (including emulating a modern GPU in software) and make the exact same assets we see in existing AAA games work on an ancient CGA card (just with worse quality/resolution/colour depth and far worse frame rate).
You missed the part about being "at all useful."


I find the irony here quite humorous.

First you say that (e.g.) Vulkan abstracts the differences between different video cards, then you say that modern AAA games (using APIs like Vulkan and DirectX12) can't work in a useful way for some different video cards (fixed function pipeline).


Cheers,

Brendan

_________________
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.


Top
 Profile  
 
 Post subject: Re: Exterminate All Operating System Abstractions
PostPosted: Thu Jul 28, 2016 5:12 pm 
Offline
Member
Member
User avatar

Joined: Wed Jan 06, 2010 7:07 pm
Posts: 792
Just like your OS can't work in a useful way for some CPUs (without an MMU).

Trying to support fixed-function pipeline is like trying to support real mode on x86. It had its uses, but it's just not capable of doing the kinds of things we want to use GPUs for today.

_________________
[www.abubalay.com]


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 19 posts ]  Go to page Previous  1, 2

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 25 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group