Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update root descriptor offset after link/merge #488

Merged
merged 1 commit into from
Mar 9, 2020

Conversation

amingriyue
Copy link
Contributor

@amingriyue amingriyue commented Mar 2, 2020

fill descriptor magic number and set number to USER_DATA registers,
accordingly update offset after link/merge
v2:
a. fix cts failures(care userDataLimit).
b. add option to decide if enable this feature.
c. add mask to get Magic and set.
d. improve coding style.

Signed-off-by: Chunming Zhou david1.zhou@amd.com

@JaxLinAMD
Copy link
Contributor

retest this please

llpc/util/llpcElfWriter.cpp Outdated Show resolved Hide resolved
@amdvlk-admin
Copy link
Collaborator

Test summary for commit 2c15839

Driver commits used in build
  • CWPACK: amd-master b601c88aeca7a7b08becb3d32709de383c8ee428
  • METROHASH: amd-master 2b6fee002db6cc92345b02aeee963ebaaf4c0e2f
  • PAL: dev 45f531beaf2c2b0bc2272e63a2da0022f1b07ccf
  • SPVGEN: dev 81f6794e048edd31d8c03343b9ed10dd4c0331ca
  • XGL: dev 8024f27f9457e3235bf4fcde0d2879bbaae7b0f2
  • LLVM-PROJECT: amd-gfx-gpuopen-dev 878d4bd14afe9bc670911954adfb7c16b71e7cae
ShaderDB test
  • Passed: 960/960 (100.0%)
  • Failed: 0/960 (0.0%)
CTS tests (built with branch Vulkan-CTS-1.2.0.2-fetch-sources-fix)
    Rhel 7.6, Vega10
    • Passed: 34897/34898 (100.0%)
    • Failed: 1/34898 (0.0%)

      Failures:

      FAILURE: dEQP-VK.binding_model.descriptorset_random.sets8.noarray.ubolimithigh.sbolimithigh.imglimitlow.noiub.frag.noia.0
      Stack trace: Timeout or crahsed
      

    Ubuntu 18.04, Navi10
    • Passed: 34897/34898 (100.0%)
    • Failed: 1/34898 (0.0%)

      Failures:

      FAILURE: dEQP-VK.binding_model.descriptorset_random.sets8.noarray.ubolimithigh.sbolimithigh.imglimitlow.noiub.frag.noia.0
      Stack trace: Timeout or crahsed
      

    Ubuntu 18.04, Ellesmere
    • Passed: 34554/34555 (100.0%)
    • Failed: 1/34555 (0.0%)

      Failures:

      FAILURE: dEQP-VK.binding_model.descriptorset_random.sets4.noarray.ubolimitlow.sbolimitlow.imglimitlow.noiub.frag.noia.4
      Stack trace: Timeout or crahsed
      

@amdvlk-admin
Copy link
Collaborator

Test summary for commit c032a18

Driver commits used in build
  • CWPACK: amd-master b601c88aeca7a7b08becb3d32709de383c8ee428
  • METROHASH: amd-master 2b6fee002db6cc92345b02aeee963ebaaf4c0e2f
  • PAL: dev 45f531beaf2c2b0bc2272e63a2da0022f1b07ccf
  • SPVGEN: dev 81f6794e048edd31d8c03343b9ed10dd4c0331ca
  • XGL: dev 8024f27f9457e3235bf4fcde0d2879bbaae7b0f2
  • LLVM-PROJECT: amd-gfx-gpuopen-dev 878d4bd14afe9bc670911954adfb7c16b71e7cae
ShaderDB test
  • Passed: 960/960 (100.0%)
  • Failed: 0/960 (0.0%)
CTS tests (built with branch Vulkan-CTS-1.2.0.2-fetch-sources-fix)
    Rhel 7.6, Vega10
    • Passed: 102962/102962 (100.0%)
    • Failed: 0/102962 (0.0%)
    Ubuntu 18.04, Navi10
    • Passed: 102962/102962 (100.0%)
    • Failed: 0/102962 (0.0%)
    Ubuntu 18.04, Ellesmere
    • Passed: 102906/102906 (100.0%)
    • Failed: 0/102906 (0.0%)

@amdvlk-admin
Copy link
Collaborator

Test summary for commit 17ce2cb

Driver commits used in build
  • CWPACK: amd-master b601c88aeca7a7b08becb3d32709de383c8ee428
  • METROHASH: amd-master 2b6fee002db6cc92345b02aeee963ebaaf4c0e2f
  • PAL: dev 45f531beaf2c2b0bc2272e63a2da0022f1b07ccf
  • SPVGEN: dev 81f6794e048edd31d8c03343b9ed10dd4c0331ca
  • XGL: dev 8024f27f9457e3235bf4fcde0d2879bbaae7b0f2
  • LLVM-PROJECT: amd-gfx-gpuopen-dev 878d4bd14afe9bc670911954adfb7c16b71e7cae
ShaderDB test
  • Passed: 960/960 (100.0%)
  • Failed: 0/960 (0.0%)
CTS tests (built with branch Vulkan-CTS-1.2.0.2-fetch-sources-fix)
    Rhel 7.6, Vega10
    • Passed: 102962/102962 (100.0%)
    • Failed: 0/102962 (0.0%)
    Ubuntu 18.04, Navi10
    • Passed: 102962/102962 (100.0%)
    • Failed: 0/102962 (0.0%)
    Ubuntu 18.04, Ellesmere
    • Passed: 102906/102906 (100.0%)
    • Failed: 0/102906 (0.0%)

llpc/context/llpcCompiler.cpp Outdated Show resolved Hide resolved
@amdvlk-admin
Copy link
Collaborator

Test summary for commit 8746bb2

Driver commits used in build
  • CWPACK: amd-master b601c88aeca7a7b08becb3d32709de383c8ee428
  • METROHASH: amd-master 2b6fee002db6cc92345b02aeee963ebaaf4c0e2f
  • PAL: dev 45f531beaf2c2b0bc2272e63a2da0022f1b07ccf
  • SPVGEN: dev 81f6794e048edd31d8c03343b9ed10dd4c0331ca
  • XGL: dev 8024f27f9457e3235bf4fcde0d2879bbaae7b0f2
  • LLVM-PROJECT: amd-gfx-gpuopen-dev 878d4bd14afe9bc670911954adfb7c16b71e7cae
ShaderDB test
  • Passed: 960/960 (100.0%)
  • Failed: 0/960 (0.0%)
CTS tests (built with branch Vulkan-CTS-1.2.0.2-fetch-sources-fix)
    Rhel 7.6, Vega10
    • Passed: 2199/2200 (100.0%)
    • Failed: 1/2200 (0.0%)

      Failures:

      FAILURE: dEQP-VK.api.object_management.multithreaded_shared_resources.compute_pipeline
      Stack trace: Timeout or crahsed
      

    Ubuntu 18.04, Navi10
    • Passed: 102962/102962 (100.0%)
    • Failed: 0/102962 (0.0%)
    Ubuntu 18.04, Ellesmere
    • Passed: 102906/102906 (100.0%)
    • Failed: 0/102906 (0.0%)

@amdvlk-admin
Copy link
Collaborator

Test summary for commit 4baf50c

Driver commits used in build
  • CWPACK: amd-master b601c88aeca7a7b08becb3d32709de383c8ee428
  • METROHASH: amd-master 2b6fee002db6cc92345b02aeee963ebaaf4c0e2f
  • PAL: dev 45f531beaf2c2b0bc2272e63a2da0022f1b07ccf
  • SPVGEN: dev 81f6794e048edd31d8c03343b9ed10dd4c0331ca
  • XGL: dev 8024f27f9457e3235bf4fcde0d2879bbaae7b0f2
  • LLVM-PROJECT: amd-gfx-gpuopen-dev 878d4bd14afe9bc670911954adfb7c16b71e7cae
ShaderDB test
  • Passed: 960/960 (100.0%)
  • Failed: 0/960 (0.0%)
CTS tests (built with branch Vulkan-CTS-1.2.0.2-fetch-sources-fix)
    Rhel 7.6, Vega10
    • Passed: 102962/102962 (100.0%)
    • Failed: 0/102962 (0.0%)
    Ubuntu 18.04, Navi10
    • Passed: 102962/102962 (100.0%)
    • Failed: 0/102962 (0.0%)
    Ubuntu 18.04, Ellesmere
    • Passed: 102906/102906 (100.0%)
    • Failed: 0/102906 (0.0%)

@amingriyue
Copy link
Contributor Author

ping...
Is that ok to merge?

@JaxLinAMD
Copy link
Contributor

there is conflicts, please rebase.
can one of the admins verify this patch?

@JaxLinAMD
Copy link
Contributor

@kuhar please review this patch

Copy link
Contributor

@amdrexu amdrexu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's make it pending for another day in case there are more comments.

@amdrexu
Copy link
Contributor

amdrexu commented Mar 5, 2020

Also, a rebase is needed because llpc.h is changed.

@amingriyue
Copy link
Contributor Author

rebased with Tim's separation, some constant needs to be defined in two places(llpcUtil.h and llpcInternal.h), seems it doesn't make sense. Is that expected?

@trenouf
Copy link
Member

trenouf commented Mar 5, 2020

some constant needs to be defined in two places(llpcUtil.h and llpcInternal.h), seems it doesn't make sense. Is that expected?

llpcUtil.h is for front-end definitions. llpcInternal.h is for middle-end definitions, and will soo be moving, with the whole of the middle-end, into a different directory.

The multiple definition problem is caused by the elf linking code being in the wrong place -- it should really be in the middle-end. But we're not going to fix that short-term, so for now let's leave the multiple definitions.

@kuhar
Copy link
Contributor

kuhar commented Mar 5, 2020

@kuhar please review this patch

I'm not familiar with these parts of the codebase the code touches, so I only commented about some nits I found without approving the patch. I don't see any issues in the current revision.

@JaxLinAMD
Copy link
Contributor

build failure:
/vulkandriver/drivers/llpc/llpc/context/llpcCompiler.cpp: In member function 'void Llpc::GraphicsShaderCacheChecker::UpdateRootUserDateOffset(Llpc::ElfPackage*)':
168
/vulkandriver/drivers/llpc/llpc/context/llpcCompiler.cpp:1344:10: error: unused variable 'result' [-Werror=unused-variable]
169
auto result = writer.ReadFromBuffer(pPipelineElf->data(), pPipelineElf->size());

fill descriptor magic number and set number to USER_DATA registers,
accordingly update offset after link/merge
v2:
    a. fix cts failures(care userDataLimit).
    b. add option to decide if enable this feature.
    c. add mask to get Magic and set.
    d. improve coding style.
v3: rebase

Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
@amdvlk-admin
Copy link
Collaborator

Test summary for commit 85f386b

Driver commits used in build
  • CWPACK: amd-master b601c88aeca7a7b08becb3d32709de383c8ee428
  • METROHASH: amd-master 2b6fee002db6cc92345b02aeee963ebaaf4c0e2f
  • PAL: dev 45f531beaf2c2b0bc2272e63a2da0022f1b07ccf
  • SPVGEN: dev f2d32c98de40d445656b41f14756f207264cc8bb
  • XGL: dev 8024f27f9457e3235bf4fcde0d2879bbaae7b0f2
  • LLVM-PROJECT: amd-gfx-gpuopen-dev 878d4bd14afe9bc670911954adfb7c16b71e7cae
ShaderDB test
  • Passed: 960/960 (100.0%)
  • Failed: 0/960 (0.0%)
CTS tests (built with branch Vulkan-CTS-1.2.0.2-fetch-sources-fix)
    Rhel 7.6, Vega10
    • Passed: 103193/103193 (100.0%)
    • Failed: 0/103193 (0.0%)
    Ubuntu 18.04, Navi10
    • Passed: 103193/103193 (100.0%)
    • Failed: 0/103193 (0.0%)

@JaxLinAMD JaxLinAMD merged commit 76698b4 into GPUOpen-Drivers:dev Mar 9, 2020
Copy link
Member

@nhaehnle nhaehnle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should not have been committed as-is :(

@@ -1320,6 +1334,19 @@ uint32_t GraphicsShaderCacheChecker::Check(
return stageMask;
}

// =====================================================================================================================
// Update root level descriptor offset for graphics pipeline.
void GraphicsShaderCacheChecker::UpdateRootUserDateOffset(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UserData

Comment on lines +243 to +244
// Whether update descriptor root offset in ELF
bool updateDescInElf;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you provide a more useful comment?

@amingriyue
Copy link
Contributor Author

This should not have been committed as-is :(

it has been merged, do you need I make another patch or just drop your comments? :)

@nhaehnle
Copy link
Member

I'm still trying to understand some of the details of how this is going to be used. I will follow up.

nhaehnle pushed a commit to nhaehnle/llpc that referenced this pull request Apr 7, 2020
…/merge

fill descriptor magic number and set number to USER_DATA registers,
accordingly update offset after link/merge
v2:
    a. fix cts failures(care userDataLimit).
    b. add option to decide if enable this feature.
    c. add mask to get Magic and set.
    d. improve coding style.
v3: rebase

Signed-off-by: Chunming Zhou <david1.zhou@amd.com>

Pull Request: GPUOpen-Drivers#488

OVS = http://ocltc.amd.com:8111/viewModification.html?modId=132590&personal=true&init=1&tab=vcsModificationTests

git-pf-change: stg@2081347
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants