Skip to content

Conversation

@gon6109
Copy link
Member

@gon6109 gon6109 commented Nov 3, 2021

Changes/変更内容

tasks

(commented by @wraikny)

  • Refactoring and improving tests Altseed2#726 がマージされたらCoreを更新する
  • CommandDrawnNode
    • update isdrawnactually on registered #261 がマージされたら
    • CommandDrawnNode 実装のために IDrawnIDrawnCullable のAPIを変更(IsDrawnなどをIDrawnに移す)し、CommandDrawnNode と Engine を修正する。
  • Fluid の実装を修正する
    • 実装したのが @gon6109 なので、ここの修正してもらえると助かります。
    • Windowsでのクラッシュの解消
    • macOSでのクラッシュの解消
    • Ubuntu? なにそれおいしいの?
  • Windowsの挙動を修正する
    • そもそも見た目が違う
    • IterationCount > 1 にするとメモリアクセス違反でクラッシュする
    • bitonic sort の修正
    • まだだめ
  • LLGIの修正

WindowsとMacで動作自体はしていて、Windowsだけ想定外の挙動してる状況。

動作check

(captured by @wraikny)
動いたけど altseed/LLGI#137

Issue

@wraikny wraikny mentioned this pull request Jun 2, 2023
@wraikny wraikny marked this pull request as draft June 2, 2023 12:50
@wraikny wraikny changed the title Update llgi WIP: Update Core & LLGI Jun 2, 2023
@wraikny wraikny changed the title WIP: Update Core & LLGI WIP: update CommandList and add ComputeShader Sample Jun 3, 2023
@wraikny
Copy link
Member

wraikny commented Jun 3, 2023

CommandDrawnNode : Node, IDrawn を実装するに当たって、UpdateIsDrawnActuallyOfDescendants をIDrawnに実行できるようにする必要がある。
#261 をマージしてから、 IsDrawnIsDrawnActuallyICullableDrawn から IDrawn に移して、CommandDrawnNodeとEngineあたりの実装を修正する。

@wraikny
Copy link
Member

wraikny commented Jun 3, 2023

Fluidに関してはビルド・実行でエラーは発生していないが、実行結果を見た感じ明らかにおかしい。

@wraikny
Copy link
Member

wraikny commented Jun 11, 2023

macOSだと

これはクラッシュ
RWStructuredBuffer<Vertex> vertex : register(u1);

これはクラッシュしない
RWStructuredBuffer<Vertex> vertex_ : register(u1);

@wraikny
Copy link
Member

wraikny commented Jun 11, 2023

これでShaderのCreate直ったけど、今度はStep開始するとOS巻き込んでクラッシュした

@wraikny
Copy link
Member

wraikny commented Jun 11, 2023

clearGridIndices で

[numthreads(64, 1, 1)]

[numthreads(1, 1, 1)]

と修正したらOS巻き込むクラッシュはしなくなった。

なお、

gridIndicesTable = Buffer<Vector2I>.CreateStrict(BufferUsageType.Compute, 60 * 60);

Engine.Graphics.CommandList.ComputePipelineState = clearGridIndicesPipeline;
Engine.Graphics.CommandList.SetComputeBuffer(gridIndicesTable, 0);
Engine.Graphics.CommandList.Dispatch(gridIndicesTable.Count, 1, 1);

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.

3 participants