Microsoft Game Stack Live [2021-04-20 and 21]

I believe d3d was first created by another company before being bought by MS
These were initial versions 2.0, 3.0 and (cancelled) 4.0 from 1995-1996, which were designed primarily with software rendering in mind. No-one used them because 3dfx Voodoo Graphics cards appeared in the same timefreame, and most game developers focused on Glide and MiniGL/OpenGL instead. Direct3D 5.0 DrawPrimitive was (re)designed in-house to follow the OpenGL model used by actual 3D hardware, with no input from RenderMorphics team. Direct3D 7 with hardware T&L was largely a different API. There was also Microsoft Talisman, an incompatible API designed to offer huge savings in memory bandwidth on supporting hardware, and the aborted 'Fahrenheit Low-Level' which was supposed to unite Direct3D and OpenGL.

None of the above explains how Direct3D didn't have to be "tied into the Windows OS", whatever that means.
 
Last edited:
It looks like the decoupling of the Direct3D 12 runtime from the Windows OS
None of the above explains how Direct3D didn't have to be "tied into the Windows OS", whatever that means.
tied == coupling

mate as you yourself said, d3d12 was tied/coupled to the windows OS, and now you claim MS are untying/decoupling it, i.e. which proves it was not absolutely necessarily needed in the first place, like I said this is similar to whjat they did with InternetExplorer and the windows OS back in the late 90s (I think) where they started putting/coupling/tying it unnecessarily into the OS as a method to stifle the opposition.

And yes ppl/companies did use d3d version 3 back in the day, prolly used about as much as opengl or glide (my thoughts are it was actually used more than either of those, we certainly used it (using it has been burnt into my mind), but would have to dig further for stats)
 
mate as you yourself said, d3d12 was tied/coupled to the windows OS, and now you claim MS are untying/decoupling it
Decouple specific version of Direct3D runtime (d3d12.dll) from the specific OS version, i.e. to make recent runtimes compatible with previous builds of the same OS.

which proves it was not absolutely necessarily needed in the first place
As I said, it requires aditional development/testing resources, while offering limited feature support and performance. Look at Direct3D12 on Windows 7, a lot of people were asking for it but nobody actually used it when Microsoft and GPU vendors made it available.

like I said this is similar to whjat they did with InternetExplorer and the windows OS back in the late 90s (I think) where they started putting/coupling/tying it unnecessarily into the OS as a method to stifle the opposition.
I don't see the parallels. Internet Explorer made its proprietary MSHTML engine available to Windows programs through a well-documented API, and both Microsoft and 3rd party applications were using it, so it wasn't entirely 'unnecessary'. Anyway that's user-mode application library, not a display driver framework which depends on very specific kernel mode components.

Also the OpenGL model required the hardware vendor to implement the entire API even when hardware didn't support some features. This was fine for Silicon Graphics' IRIS GL which ran on proprietary hardware, but Microsoft didn't make their own graphics chips or complete end systems, so they would need to hand control over essential component of the OS to 3rd parties.

ppl/companies did use d3d version 3 back in the day, prolly used about as much as opengl or glide
No, there are very few such games, mostly shareware racing titles. Only two proper 3D accelerator cards were widely available by late 1996, S3 ViRGE (Diamond Stealth3D) and Rendition Verite V1000 (Creative 3D Blaster), which ran at measly 20-25 fps. OTOH, Voodoo Graphics ran at 60+ fps and used 'multi-texturing' which was only supported in Glide at the time, so 3dfx came to dominate the entire year 1997.
 
Last edited:
I don't see the parallels. Internet Explorer made its proprietary MSHTML engine available to Windows programs through a well-documented API, and both Microsoft and 3rd party applications were using it, so it wasn't entirely 'unnecessary'. Anyway that's user-mode application library, not a display driver framework which depends on very specific kernel mode components
Oh yes very nice of them ... except the courts didnt think so https://skeptric.com/embrace-extend-extinguish/

Also the OpenGL model required the hardware vendor to implement the entire API even when hardware didn't support some features. This was fine for Silicon Graphics' IRIS GL which ran on proprietary hardware, but Microsoft didn't make their own graphics chips or complete end systems, so they would need to hand control over essential component of the OS to 3rd parties.
thats true (though was not fully adhered to IIRC), often it could just be that feature X was supported in software

No, there are very few such games, mostly shareware racing titles. Only two proper 3D accelerator cards were widely available by late 1996, S3 ViRGE (Diamond Stealth3D) and Rendition Verite V1000 (Creative 3D Blaster), which ran at measly 20-25 fps. OTOH, Voodoo Graphics ran at 60+ fps and used 'multi-texturing' which was only supported in Glide at the time, so 3dfx came to dominate the entire year 1997.
Try a more thorough site not just some dude on a forum eg https://www.pcgamingwiki.com
counting games up to and including 1997 OK glide was a bit more but theres more d3d 3 games than opengl.

d3d 26 (only counting d3d 2-3 thus d3d5 titles from 1997 not counted so no starwars, riven, dungeon keeper, mortal combat 4, tomb raider 2 etc though if I also include all d3d games from 1997 and before its > 60, i.e. nearly double glides number )
glide 34
opengl 15

Also not sure about glide dominating 1997, OK quality it may of done but this is more like personal opinion, in shear numbers it didnt

glide games from 1997

Dreams to Reality
Extreme Assault
Time Warriors
V-Rally Multiplayer Championship Edition
POD: Planet of Death
Interstate '76
Outlaws
Need for Speed II
Star Wars: X - Wing vs. TIE Fighter
MDK
Shadow Warrior (1997)
Blood
Screamer Rally
FIFA: Road to World Cup 98
Frogger (1997)
Incubation: Time Is Running Out
Test Drive 4
Myth: The Fallen Lords
Actua Soccer 2
Nuclear Strike
Sub Culture
CART Precision Racing
Croc: Legend of the Gobbos
Turok: Dinosaur Hunter


D3D games from 1997

Adidas Power Soccer
Alien Cabal
Dreams to Reality
International Rally Championship
POD: Planet of Death
Cyberswine
Sonic & Knuckles Collection
Outlaws
Sentient
Shivers Two: Harvest of Souls
Star Wars: X - Wing vs. TIE Fighter
MDK
FIFA: Road to World Cup 98
Dungeon Keeper
Atomic Bomberman
Dark Reign: The Future of War
Moto Racer
Claw
Resident Evil
Star Wars: Shadows of the Empire
7th Legion
Frogger (1997)
Incubation: Time Is Running Out
Star Wars: Jedi Knight - Dark Forces II
Mortal Kombat 4
Fighting Force
Riven
NetStorm - Islands At War
Actua Soccer 2
Daytona USA: Deluxe
Nuclear Strike
Overboard!
Premier Manager 98
CART Precision Racing
Croc: Legend of the Gobbos
Final Liberation: Warhammer Epic 40,000
G-Police
Kick Off 98
Virtua Fighter 2
World League Basketball
Tomb Raider II
Virtua Cop 2
Turok: Dinosaur Hunter
Virus: The Game[/QUOTE]
 
counting games up to and including 1997 OK glide was a bit more but theres more d3d 3 games than opengl
Again, most of these are using Direct3D 5+ DrawPrimitive - not Direct3D 3.0 and Execute Buffers.

Games in these early days of 3D were often developed for a custom software renderer, then updated with regular game patches to support multiple hardware rendering APIs, so an early Direct3D game would end up supporting Glide, OpenGL/MiniGL, and Direct3D 5-7.

Also most of these 'shareware' games weren't up to AAA titles like Descent, Quake, Need for Speed etc., which made quite an impact by providing better visual quality and higher framerates running on Voodoo Graphics cards and their Glide / MiniGL drivers.

Try a more thorough site not just some dude on a forum eg https://www.pcgamingwiki.com

These stats are not thoroughly verified and include recent digital distribution re-issues; my own memory serves me better.

https://www.pcgamingwiki.com/wiki/List_of_DirectX_2-7_games
https://www.pcgamingwiki.com/wiki/List_of_OpenGL_games
https://www.pcgamingwiki.com/wiki/List_of_Glide_games

You should also cross-check for games which support multiple APIs.

the courts didnt think so
Rather one particular federal judge presiding over Microsoft antitrust case.
 
Last edited:
The videos of the pre-recorded sessions are available on the Microsoft Game Stack channel:
https://www.youtube.com/c/MSFTGameStack/playlists?view=50&sort=dd&shelf_id=1


In particular, the Xbox Velocity Architecture session includes a very nice real-time demo, showcasing how Sampler Feedback works in conjunction with Tiled Resources and DirectStorage streaming, which enables massive memory / bandwidth savings and ensures very smooth camera transitions.
Xbox Velocity Architecture: Faster Game Asset Streaming and Minimal Load Times for Games of Any Size - YouTube


Blog/news posts:

https://devblogs.microsoft.com/dire...edback-some-useful-once-hidden-data-unlocked/

https://news.xbox.com/en-us/2020/07/14/a-closer-look-at-xbox-velocity-architecture/

https://devblogs.microsoft.com/directx/directx-12-ultimate-for-holiday-2020/
 
Last edited:
The videos of the pre-recorded sessions are available on the Microsoft Game Stack channel:
https://www.youtube.com/c/MSFTGameStack/playlists?view=50&sort=dd&shelf_id=1


In particular, the Xbox Velocity Architecture session includes a very nice real-time demo, showcasing how Sampler Feedback works in conjunction with Tiled Resources and DirectStorage streaming, which enables massive memory / bandwidth savings and ensures very smooth camera transitions.
Xbox Velocity Architecture: Faster Game Asset Streaming and Minimal Load Times for Games of Any Size - YouTube
question, versus typical VT and even Tiled Resources: don't they also break the mips into smaller tiles as well? Isn't sampler feedback providing very clearly to the developer which tiles are in view and which aren't (which is an algorithm challenge)
 
don't they also break the mips into smaller tiles as well?
Tile size is fixed at 64 KBytes, since it needs to fit exactly into multiples of GPUMMU physical page size (either 4 or 64 Kbytes) for virtual memory paging to work. Thus tile dimensions depend on bits per pixel or lossy texure compression format used, and multisample count (for render targets).

https://docs.microsoft.com/en-us/windows/win32/direct3d11/how-a-tiled-resource-s-area-is-tiled
https://docs.microsoft.com/en-us/wi...xture2d-and-texture2darray-subresource-tiling
https://docs.microsoft.com/en-us/windows/win32/direct3d11/mipmap-packing
https://docs.microsoft.com/en-us/windows/win32/direct3d12/volume-tiled-resources
https://blogs.windows.com/windowsex...rces-enables-optimized-pc-gaming-experiences/
 
Last edited:
Back
Top