1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Cyberpunk 2077: PC version with raytracing, first screenshots

Discussion in 'Frontpage news' started by Hilbert Hagedoorn, Jun 12, 2019.

  1. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,299
    Likes Received:
    196
    GPU:
    .
    Nope, all the source code AMD provides is open source under MIT license:

    https://github.com/GPUOpen-Effects/TressFX/blob/master/LICENSE.txt

    MIT license is most permissive license except for copyleft. MIT license is a "do whatever you want with it" except you need to copy and past the license itselft for the software using MIT license. It is the most permissive open source license.
     
    Last edited: Jun 14, 2019
    jura11 and yasamoka like this.
  2. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,946
    Likes Received:
    382
    GPU:
    EVGA 1070 FTW
    But...the code I see does favour AMD. Is that not the same thing?
     
  3. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,299
    Likes Received:
    196
    GPU:
    .
    It's not. Everyone is free to change it and optimize it for NVIDIA and Intel architectures.
     
    yasamoka likes this.
  4. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,946
    Likes Received:
    382
    GPU:
    EVGA 1070 FTW
    Yes, but if it was built to favour all platforms from the beginning, not just AMD...that work would not be required.

    What am I missing here?
     

  5. Stormyandcold

    Stormyandcold Ancient Guru

    Messages:
    5,174
    Likes Received:
    128
    GPU:
    MSI GTX1070 GamingX
    AMD doesn't have the market-share advantage to do what Nvidia can. That's why they must take the middle ground and support everything, even if the game still works better on AMD hardware.

    Most AMD "sponsored" titles on PC also don't fare that well. There are exceptions like Doom 2016, where the initial release is geared towards the Nvidia audience, then, later on id introduced Vulkan+ AC etc to also appease the AMD fans. However, when we look at how pure DX12 games have done (which AMD tried to make out that only their cards fully supported the DX12 spec), well, it's almost all but abandoned, except for some MS titles and the handful of annual franchises.

    If AMD doesn't support DX12 DXR, then, DX12 will go down in history as a failed api. While AMD will again be remembered for only pushing an api when it's to their advantage. Business as usual then? Yep.
     
    Loobyluggs and Maddness like this.
  6. jaggerwild

    jaggerwild Master Guru

    Messages:
    631
    Likes Received:
    228
    GPU:
    Many
    I didn't see KEano?
     
  7. Andrew LB

    Andrew LB Maha Guru

    Messages:
    1,019
    Likes Received:
    121
    GPU:
    EVGA GTX 1080@2,025
    Exactly! Remember how they delayed Witcher 3 for 6 months so they could "optimize" it? When i say "optimize", I mean to completely downgrade the PC versions graphics in order for it to comply with the parity requirements forced upon them by Sony and Microsoft in their licensing agreements.
     
  8. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,946
    Likes Received:
    382
    GPU:
    EVGA 1070 FTW
    I think I'm going to disagree with that sentiment, purely because you compile to the platform, not the other way around.
     
  9. yasamoka

    yasamoka Ancient Guru

    Messages:
    4,706
    Likes Received:
    172
    GPU:
    EVGA GTX 1080Ti SC
    Do you understand how software development works? Graphics hardware architecture details are not documented right down to the details across companies. AMD can only know exactly how its own architectures work. Do you think AMD is going to spend time reverse-engineering other graphics hardware architectures and put in much more than triple the work doing Nvidia's and Intel's work on optimizing the software for all then just releasing it under the MIT license where Intel and Nvidia can just go and pick up their free lunch and call it a day? The industry doesn't work that way. It will never work that way. Intel's and Nvidia's freedom to adapt the code to their own architectures entails them putting in their own time into making the product work better on their platforms. Also, even if the product is not *optimized* for Intel and Nvidia, that does not mean it was not built with universally accessible APIs in mind (DirectX, DirectCompute, Vulkan, OpenCL). The same software could actually still run faster on competing hardware as long as the optimizations that AMD performs do not harm performance on the others. And you know what? It's open source - anyone can take a look at the code and determine if that is the case; Intel and Nvidia can simply adapt the source code and just remove the AMD optimizations that may be harming performance on their architectures and call it a day.

    Nvidia's approach to GameWorks being "open-source" and AMD's approach to its own implementations of various technologies being open-source are entirely different.
     
  10. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,299
    Likes Received:
    196
    GPU:
    .
    You are missing that with AMD code you can do whatever you want without pay a single bucks to AMD, with NVIDIA software you cannot.
     

  11. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,946
    Likes Received:
    382
    GPU:
    EVGA 1070 FTW
    So, what you are saying is this: The better company is the one with the best toolset? Because if I develop specifically with AMD toolsets, I have to rewrite the code for another platform as, the toolsets are configured for AMD architecture.
    If I develop specifically with nvidia toolsets, I have to write new code to be compatible with other platforms.

    Yet...in both instances I am writing or rewriting code, so...I should pick the toolsets that are the best?

    I am confused though, perhaps you can clarify...in both instances I am also using hardware/architecture that must be compliant with Windows or no one would buy it...correct?

    Again, I am just going to use the best toolsets and TBH be damned about anything else.
     
  12. MonstroMart

    MonstroMart Master Guru

    Messages:
    444
    Likes Received:
    116
    GPU:
    ASUS GTX 1070 Strix
    Writing your own version of some complex algorithms is very time consuming if you don't have access to the original code or can't use it legally. Can take years. Modifying existing open source code can be done really quickly by skilled developers. The work has already be done for you you just have to adapt it. You can see this as the difference between filming a movie (entire process from casting actors, making special effects, etc...) and editing an already filmed movie. It's far easier to make a Linux distribution than making your own OS. Proprietary technology is bad for the consumer. I don't even know why it is a debate.
     
    yasamoka likes this.
  13. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,299
    Likes Received:
    196
    GPU:
    .
    It's not about the "best toolset". It's about how much worth using AMD or NVIDIA middlewares. Most of those middleware are just gimmick (outside some proprietary extensions to expose additional performance capabilities that are not already supported by the "standard" APIs).
    However, if you are using NVIDIA gameworks or NVIDIA physx there are some additional license constraints which can be a limitation if you want the game looks the same, or has more or less the same performance, on non-NVIDIA hardware. There are tons of algorithms and samples around the net, most of them are more impressive than most of Gameworks solutions, like the most of the algorithm explained in the ShaderX/GPU Pro/GPU Zen books (some of them are also open source).
    As for compatibility, it depends if those middleware are using closed and proprietary capabilities not exposed by "standard" APIs, you do not usually directly target a GPU ISA when writing code (outside very limited scenarios).

    However you can - as example - send shader parameters in a particular order instead of another to take advantage of a particular architecture and do not write an alternative path for the others, or you use a particular surface, or even more complex scenarios when your rendering path feeds better a IHVs driver instead of others. All those things combined togher can matter a lot when talking about performance, and if the implementation of a middle-ware is opaque, like some Gameworks and Physix core components, writing or optimizing for other architecture become really challenging or even impossible for license agreements.
     
    Last edited: Jun 15, 2019
  14. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,946
    Likes Received:
    382
    GPU:
    EVGA 1070 FTW
    So...use both/all toolsets and just allow the user to turn on or off those features, if they lack the power to run them?
     
    Maddness and Stormyandcold like this.
  15. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,299
    Likes Received:
    196
    GPU:
    .
    It's not about power, it's about if that code can run and if it run does it cripple other IHVs devices for no valid reason? For me, the correct answer is not use NVIDIA gameworks at all untill NVIDIA makes them really open source with a proper license. As for physx 4, I do not know how much well does it run in software mode, but I can tell that main license issues are not different from version 3: the GPU acceleration components are closed source, moreover if you try to hack them, like using third party inject library (ie: non-NVIDIA signed drivers), GPU acceleration won't run (it is stated little in a header file in the physx4 github repo IIRC), and this is clearly a move to prevent AMD and Intel to provide an external party GPU acceleration.
     

  16. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,946
    Likes Received:
    382
    GPU:
    EVGA 1070 FTW
    But, doesn't using AMD 'cripple' nvidia hardware?

    I really am trying to understand the point here - but no one is being honest about what is happening, or is off-point.

    AMD favour AMD, nvidia favour nvidia?

    Just because you have a holier-than-thou attitude in your licence agreement/EULA/code, does not make your software run on any other hardware BETTER than it runs on yours, as you clearly have written your code to favour your tech versus someone else.

    Ability to have access to the source code? So what. So mother fudging what! Why is that of any use to me if you have written your code to favour your hardware! I have to rewrite the code to favour someone else's hardware! That's more work!

    AMD would love to be nvidia and nvidia would love to be cool, neither is right and neither is wrong. No one has the high ground here, and I'll I'm hearing is "nvidia should release their source code, grr"

    Not firing at anyone here in particular, just this topic has always confused me when both companies are favouring their own tech and...that's okay?
     
  17. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,299
    Likes Received:
    196
    GPU:
    .
    Favour is different then obstacle; sorry but I cannot help you further. I think you are inside a mental loop, I cannot help you except suggest you to break and read back the post I made.

    PS: +1 kudos who understand the metaphor..
     
    yasamoka and jura11 like this.
  18. Loobyluggs

    Loobyluggs Ancient Guru

    Messages:
    2,946
    Likes Received:
    382
    GPU:
    EVGA 1070 FTW
    Oh, it's very simple -

    Develop game using nvidia toolsets = must rewrite for other platforms not compatible or/and, end user has varying performance on other hardware.
    Develop game using AMD toolsets = must rewrite for other platforms not compatible or/and, end user has varying performance on other hardware.

    Only difference is the EULA, which is completely meaningless if you have to do additional coding, which you would - access to the source code or not, there is still work involved.

    I'm sorry you do not get my point, but it is valid and I'm not going to give any credit to AMD for being exactly the same as nvidia.
     
  19. Glidefan

    Glidefan Don Booze Staff Member

    Messages:
    12,482
    Likes Received:
    36
    GPU:
    GTX 1070 | 8600M GS
    @Loobyluggs yeh, most tech companies now tend to do so.
     
  20. yasamoka

    yasamoka Ancient Guru

    Messages:
    4,706
    Likes Received:
    172
    GPU:
    EVGA GTX 1080Ti SC
    You've had this explained to you multiple times already. These codebases are written with standardized APIs in mind - you do not need to *rewrite* the code for it to work well on your own hardware. You just need to adapt it with your own architecture's optimizations. What you're implicitly asking for is redundant / impossible - that a third party write open-source code that is architecture-agnostic / has to accomodate all the proprietary architectures deployed - that's what APIs such as DirectX, Vulkan, DirectCompute, OpenCL, etc... are there for. It's every company's responsibility to make sure these features work well on its own architectures. A complete rewrite would be very, very rarely a requirement to make something written by AMD to work with any of these APIs work well for Nvidia's architectures. These architectures aren't magical - they share many techniques under the hood, which is why with the same technological constraints, they perform within the same order of magnitude.
     
    Mesab67 likes this.

Share This Page