Next up: Shader Model 6.0

Discussion in 'Rendering Technology and APIs' started by Kaotik, Mar 23, 2016.

  1. Kaotik

    Kaotik Drunk Member
    Legend

    Joined:
    Apr 16, 2003
    Messages:
    8,743
    Likes Received:
    2,587
    Location:
    Finland
  2. Alessio1989

    Regular Newcomer

    Joined:
    Jun 6, 2015
    Messages:
    591
    Likes Received:
    300
    Direct3D X 12 graphics will be finally complete. No more reason to be interested - at least for me - in Vulkan & SPIR-V if this means finally DirectCompute will reach OpenCL and Cuda for the most important features.
    Also, I hope this will bring MSAA programmable sample points or something like that.
    Finally I have big hopes in templates and lambdas into HLSL.
     
  3. iroboto

    iroboto Daft Funk
    Legend Regular Subscriber

    Joined:
    Mar 6, 2014
    Messages:
    9,330
    Likes Received:
    8,216
    Do lambdas mean something else in HLSL? Or are they still anonymous functions?
     
  4. Alessio1989

    Regular Newcomer

    Joined:
    Jun 6, 2015
    Messages:
    591
    Likes Received:
    300
    AFIK they should be anonymous functions as in C++ and any other C-like language, and I hope in HLSL the compiler will - when it is possible - to automatic inline/unroll those functions like in other language compilers... But I also admit, I find lambda syntactic-sugar pretty when not abused..
     
  5. AlexV

    AlexV Heteroscedasticitate
    Moderator Veteran

    Joined:
    Mar 15, 2005
    Messages:
    2,528
    Likes Received:
    107
    C++ lambdas are not quite (just) anonymous functions, they are proper objects (of unspecified type, but conceptually equivalent with a functor which may or may not be stateless depending on captures). The differences can be relevant, depending on context and usage pattern (e.g. the ease of unrolling).
     
  6. iroboto

    iroboto Daft Funk
    Legend Regular Subscriber

    Joined:
    Mar 6, 2014
    Messages:
    9,330
    Likes Received:
    8,216
    Thanks; so just to clarify when you refer to lambda unrolling you are referring to the assembly, as in what the compiler was able to unroll it to ?
     
  7. Infinisearch

    Veteran Regular

    Joined:
    Jul 22, 2004
    Messages:
    739
    Likes Received:
    139
    Location:
    USA
    Programmable Blending... wow thats good to hear. Wave level intrinsics. I'm impressed... was hoping for those in Vulkan but DX delivered instead.
     
  8. AlexV

    AlexV Heteroscedasticitate
    Moderator Veteran

    Joined:
    Mar 15, 2005
    Messages:
    2,528
    Likes Received:
    107
    That should have read as "inlining" and not "unrolling", but I crossed the streams in my mind. There are interactions between the ease of inlining some f() and the ease of automatically unrolling for (...) { f(); } but that's not what was in scope for that post of mine. Having said that, writing an automated unroller such as static_for<...>(...) is terribly nice in the presence of lambdas, imho, since it maintains locality of reasoning.
     
  9. Alessio1989

    Regular Newcomer

    Joined:
    Jun 6, 2015
    Messages:
    591
    Likes Received:
    300
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...